5.3 Модель try-catch

5.3 Модель try-catch


Блок 'try' состоит из набора выполняемых утверждений, которые могут контролировать исключение. Метод, который может перехватить исключение, может также быть включен в блок try. Блок 'try' может сопровождаться одним или более блоками 'catch'. Дополнительные исключения в блоке перехвачиваются в этих блоках 'catch'.

Обратите внимание: Блок catch должен всегда связываться с блоком try и не может существовать самостоятельно.
Просмотрите блок try' данный ниже:
.      .       .
try {
int c= calculate(9,0); // user defined method
System.out.println ;
}
catch (Exception e) { // exception object
System.err.println( Exception occurred: + e.toString());
e.printStackTrace();
}
.      .       .
int calculate( int a, int b) {
int c=a/b;
return c;
}


В вышеупомянутом отрывке кода, е - экземпляр класса 'Exception'. Заметьте, что в блоке catch, методы 'toString ()' и 'printStackTrace () ' используются, чтобы печатать исключение, которое произошло. toString () - public метод, определенный в классе Object и унаследован классом Exception. Этот метод используется, чтобы отыскать представление Строки информации, сохраненной в объекте Исключения. printStackTrace () - метод, определенный в классе Exception и используется, чтобы печатать информацию относительно исключения, то есть, как оно произошло и какой строке кода.

Законченный фрагмент кода приводится в примере 1.

Пример 1:
public class ExceptionDemo {
public static void main(String args[]) {
try {
int с = calculate(9,0); // user defined method
System.out.printIn ;
                    }
catch(Exception e) { // exception object System.err.println( Exception occurred : + e.toString()); e.printStackTrace();
                    }
          }
static int calculate(int a, int b) { int с = a/b; return с;
          }
}

Рисунок 5.2 отображает вывод вышеупомянутого примера.

Рисунок 5.2: Вывод примера 1

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

В вышеупомянутом коде, любая ошибка, которая происходит в течение выполнения метода, 'calculate () ', перехватывается блоком 'catch ()'. Если ошибка происходит в течение выполнения метода, ' calculate () ', утверждение печати никогда не будет выполняться. Выполнение продолжает непосредственно с блока ' catch '.

Обратите внимание: Блок try не всегда нуждается в сопровождении блока catch.

назад к оглавлению вперед

Rus. Open Source company, г. Саратов
ул. Орджоникидзе, 156, офис 203
тел: 8 (8452) 57-84-41
e-mail: info@rus_opensource.com

Главная | Обзоры | О разном
Карта сайта

Учебная литература:

Введение в Linux
Основы JAVA
Архивы

© 2013 opensourcerules.net