|
||||||||||||
Методические указания. Методические указания к пункту 3.1.. Методические указания к пункту 3.2. ⇐ ПредыдущаяСтр 3 из 3 Методические указания Методические указания к пункту 3.1. Для обработки исключительных ситуаций применяется конструкция try-catch-finally. Элемент finally является необязательным, и рассмотрим пример перехвата исключения без него: В блоке try располагается код, в котором отслеживается возникновение исключения. Если исключение возникает, то вместо закрытия программы с выводом сообщения об ошибке, управление передается в блок catch. Те исключительные ситуации, которые необходимо перехватить указываются в качестве параметра для блока catch (Список наиболее встречаемых исключений см. в приложении). В данном случае перехватывается попытка деления на нуль. В момент перехвата был создан объект error. Поле Message содержит описание ошибки. Можно перехватывать исключения без создания объекта, тогда блок catch примет вид: Если необходимо перехватывать не какое-то определенное исключение, а все, то необходимо блок catch оставить без параметров. Пример:
Методические указания к пункту 3.2. Конструкцию обработки исключений try-catch-finally часто сравнивают с конструкцией if-then-else. Такое сравнение часто вводит в заблуждение. Блок finally выполняется после выполнения блоков try или catch. Таким образом, будет не важно, произошло исключение или нет, блок finally получит управление на выполнение кода. В конструкции if-then-else передача управления блоку else происходит не всегда. Рассмотрим пример: В результате будет на экране выведено “23”. Вывод на экран единицы не будет осуществлено, потому что в уравнении происходит попытка деления на нуль и управление выполнением кода перехватывает блок catch. В обработчиках исключений применяется управляющий оператор Throw. Данный оператор вызывает указанную исключительную ситуацию. Например, вызов исключительной ситуации выхода за границы массива: Чаще всего оператор Throw применяется для передачи исключения с внутреннего блока Catch на внешний блок. Для этого оператор используется без параметров: В результате на экране будет выведено “2345”. Если же в приведенном примере убрать управляющий оператор Throw, то по выполнению программы на консоль будет выведено только “235”.
Примерная структура программы задания 3.2:
Приложение Таблица исключений
|
||||||||||||
|