Класс исключения объявлен, но не брошен - PullRequest
0 голосов
/ 02 сентября 2018

Здесь тест не выбрасывает объект 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 Ответ

0 голосов
/ 02 сентября 2018

Класс Exception имеет RuntimeException в качестве подкласса. RuntimeException и его подклассы не нужно объявлять в подписи meta.

В этом случае вы перехватываете все возможные подклассы Exception, включая все те подклассы, которые не требуют объявления подписи. Если ваш метод test выдает, например, ArrayIndexOutOfBoundsException, вы сможете его поймать и обработать, но сигнатура test не будет затронута.

Дальнейшее чтение здесь

...