2015-03-22 2 views
-1

В Java, если мы создаем настраиваемое исключение, расширяя класс Exception, оно будет считаться проверенным исключением. По определению, проверяется исключение принуждают компилятором, как если мы пишем ниже код, то мы обязаны поймать FileNotFoundExceptionПользовательское исключение как отмечено Исключение

try{ 
    fis = new FileInputStream("abc.txt"); 

} 

catch(FileNotFoundException e) 
{ 
    System.out.println("The source file does not exist. " + e); 
} 

Для вызова пользовательских исключений, мне нужно явно бросить его. Итак, как это проверяется? Он должен быть отключен, поскольку компилятор не заставляет меня ничего.

С уважением Шайх

+1

Я ничего не понимаю в вашем вопросе. – Andremoniy

ответ

0

Проверенными/бесконтрольно относится к требованию обработки исключений в коде, который использует ваш метод метание исключения.

Скажите, что вы выбрали исключенное исключение в своем методе (исключение RuntimeException или его подкласс). Вам не нужно сигнализировать о том, что ваш метод выбрасывает его, и любому, кто использует ваш код, не нужно явно обращаться с ним.

Однако если вы выбрали исключенное исключение (исключение, не являющееся подклассом RuntimeException), то ваш метод должен явно сказать, что он генерирует исключение, и любой, кто использует ваш код, должен обрабатывать это исключение - либо путем объявления их метода как метода, выдает исключение (повторное создание) или с помощью блока try-catch, вокруг вызова вашего метода, который выдает проверенное исключение.

+0

есть ли какое-либо ограничение на компилятор для принудительного исключения? –

+0

Да. Он не будет компилировать код, который использует метод throwing checked exception и не обрабатывает его. –

Смежные вопросы