Иллюстрированный самоучитель по Java

Часть заголовка метода throws

Листинг 16.4. Обработка исключения в методе.

class SimpleExtf{
private static void f(int n){ // throws ArithmeticException{
try{
System.out.println(" 10 / n = " + (10 / n));
System.out.printlnt"From f() after results output");
}catch(ArithmeticException ae)(
System.out.printlnf"From f() catch: " + ae);
// throw ae;
}finally{
System.out.println("From f() finally");
}
}
public static void main(String[] args){
try{
inf n = Integer.parselnt(args[0]);
System.out.printlnt"After parselnt());
f (n);
System.out.println("After results output"); (
catch(ArithmeticException ae){
System.out.println("From Arithm.Exc .catch: "+ае);
}catch(ArraylndexOutOfBoundsException arre)(
System.out.println("From Array.Exc .catch: "+arre);
}finally{
System.out.println("From finally");
}
System.out.println("After all actions");
}
}

Внимательно проследите за передачей управления и заметьте, что исключение класса ArithmeticException уже не выбрасывается в метод main ().

Оператор try {}catch () {} в методе f () можно рассматривать как вложенный в оператор обработки исключений в методе main ().

При необходимости исключение можно выбросить оператором throw ae. В листинге 16.4 этот оператор показан как комментарий. Уберите символы комментария //, перекомпилируйте программу и посмотрите, как изменится ее вывод.

Иллюстрированный самоучитель по Java › Обработка исключительных ситуаций › Часть заголовка метода throws
Рис. 16.3. Обработка исключения в методе

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.