Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СТП / lec / java2014-lec-06

.pdf
Скачиваний:
6
Добавлен:
03.03.2016
Размер:
683.07 Кб
Скачать

Категории исключений

11

Общие исключения

12

Правило «обрабатывай или предупреждай»

(handle-or-declare)

Принципы использования правила:

Обрабатывайте исключения с помощью оператора try-catch-finally

Предупреждайте, что метод может привести к какому-то исключению с помощью оператора throws:

void trouble() throws IOException { ... }

void trouble() throws IOException, MyBxceptlon { ... }

При этом вы не обязаны предупреждать об исключениях времени

выполнения или ошибках, но можете это сделать.

Обрабатывайте исключение, когда вы можете это сделать;

объявляйте исключение, когда вы вынуждены так поступить.

13

Исключения при переопределении методов

Переопределяемый метод может:

не выбрасывать исключений вообще;

одно или более исключений, выбрасываемых родительским исходным методом;

одно или более подклассов исключений, выбрасываемых родительским исходным методом.

Переопределяемый метод не может:

дополнительных исключений, которые не выбрасываются исходным методом;

исключений, родительских по отношению к выбрасываемым исходным методом.

14

Исключения при переопределении методов – пример

15

Создание собственных (пользовательских) исключений

Переопределение метода getMessage(), который наследуется в

классе Exception, может быть использовано для указания

причины пользовательского исключения.

16

Обработка пользовательских исключений

Метод может выбрасывать пользовательское

контролируемое исключение:

17

Обработка пользовательских исключений

При этом другой метод может использовать оператор

try-catch для перехвата пользовательского исключения:

18

Обработка нескольких исключений

19

Отладка с помощью проверочных утверждений (assertions)

• Синтаксис:

assert <boolean_expression>;

assert <boolean_expression> : <detail_expression>;

Если <boolean_expression> принимает значение false, то выбрасывается исключение AssertionError.

Второй аргумент преобразуется в строку и используется как поясняющий текст в исключении AssertionError

20

Соседние файлы в папке lec