Программирование на Java


Проверяемые и непроверяемые исключения - часть 2


Иерархия классов стандартных исключений.

Рис. 10.1.  Иерархия классов стандартных исключений.

В данном примере при возникновении исключительной ситуации (класс, порожденный от Exception) будет выполняться всегда только первый блок catch. Остальные не будут выполнены ни при каких условиях. Эта ситуация отслеживается компилятором, который сообщает об UnreachableCodeException (ошибка - недостижимый код). Правильно данная конструкция будет выглядеть так:

try { ... } catch(UserException ue) { ... } catch(IOException ioe) { ... } catch(Exception e) { ... }

В этом случае будет выполняться последовательная обработка исключений. И в случае, если не предусмотрена обработка того типа исключения, которое возникло (например, AnotherUserException), будет выполнен блок catch(Exception e){:}

Если срабатывает один из блоков catch, то остальные блоки в данной конструкции try-catch выполняться не будут.




Начало  Назад  Вперед



Книжный магазин