Java -практика использования

        

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



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

class SimpleExt3{

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 этот оператор показан как комментарий. Уберите символы комментария //, перекомпилируйте программу и посмотрите, как изменится ее вывод.



Содержание раздела