Хелпикс

Главная

Контакты

Случайная статья





Методические указания. Методические указания к пункту 3.1.. Методические указания к пункту 3.2.



Методические указания

Методические указания к пункту 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:


Приложение

Таблица исключений

Название исключения Описание
DivideByZeroException Попытка деления на нуль
IndexOutOfRangeException Индекс за границами массива
OverflowException Арифметическое переполнение
InvalidCastException Неверное приведение типов

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.