Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Определение исключений



Для того чтобы работать с исключениями, необходимо:

• Выделить контролируемый блок — блок try (контролировать, пытаться).

• Предусмотреть генерацию одного или нескольких исключений операторами throw (бросать, генерировать, посылать) внутри блока try или внутри функций, вызываемых из этого блока.

• Разместить сразу за блоком try один или несколько обработчиков исключений catch (ловить,перехватить).

Контролируемый блок — это составной оператор, перед которым записано ключевое слово try:

try {

// фрагмент кода

}

Оператор throw, предназначенный для генерации исключения, имеет вид: throw выражение.

Тип выражения, стоящего после throw, определяет тип порождаемого исключения. При генерации исключения выполнение текущего блока прекращается, и происходит поиск соответствующего обработчика и передача ему управления.

Синтаксис обработчиков напоминает определение функции с одним параметром и именем catch:

catch (/*... */)

{

// действия по обработке исключения

}

Объявление параметра обработчика возможно в одной из трех форм:

catch (Туре) { / / обработка исключения типа Туре }

catch (Туре info) {

/ / обработка исключения типа Туре

/ / с использованием значения info

}

catch (...) { // обработка исключений всех типов }

После обработки исключения управление передается первому оператору, находящемуся непосредственно за обработчиками исключений.

Туда же, минуя код всех обработчиков, передается управление, если исключение в try -блоке не было сгенерировано.

Если обработчик не в состоянии полностью обработать ошибку, он может сгенерировать исключение повторно с помощью оператора throw без параметров. В этом случае предполагается наличие внешних объемлющих блоков, в которых может находиться другой обработчик для этого типа исключения.

Общая схема посылки и обработки исключений выглядит так:

try {

операторы

throw выражение_1

операторы

throw выражение_2

операторы

}

catch ( спецификация_исключения_1 )

{ операторы_обработки_исключения_1 }

catch ( спецификация_исключения_2 )

{ операторы_обработки_исключения_2 }

Еще раз. Служебное слово try позволяет выделить в любом месте программы блок контроля за исключениями. Это блок программы, который надо пытаться выполнить.

Среди операторов, заключенных в фигурные скобки кроме обычных операторов, описаний и определений объектов программы, помещают специальные операторы, посылающие или генерирующие исключения. Формат оператора: throw выражение.





Дата публикования: 2014-11-28; Прочитано: 242 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...