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



             

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



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









Содержание  Назад  Вперед