Класс исключения объявлен, но не брошен
Здесь тест не выбрасывает объект Exception, но я его обработал. Поскольку исключение является проверенным исключением, оно не должно вызывать ошибку компилятора недоступного кода в блоке catch
class Ece extends Exception {}
public class Excep {
public static void test() { }
public static void main(String[] args) {
try {
test();
} catch (Exception E) {
}
}
}
1 ответ
Решение
Класс Exception
имеет RuntimeException
как подкласс. RuntimeException
и его подклассы не должны быть объявлены в подписи метаданных.
В этом случае вы ловите все возможные подклассы Exception
, включая все те подклассы, которые не нуждаются в объявлении подписи. Если твой test
метод кидает например ArrayIndexOutOfBoundsException
вы сможете поймать и справиться с этим, пока test
подпись не пострадает.
Дальнейшее чтение здесь