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

Interbase

.pdf
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
6.05 Mб
Скачать

122

Глава 5

 

 

 

Ошибки, идентифицирующиеся кодами ошибок InterBase. Конструкция ANY позволяет выполнять операторы обработки при

возникновении любых ошибок перечисленных типов.

Сводка синтаксиса оператора WHEN приведена в таблице.

Таблица 5.2. Синтаксические конструкции оператора WHEN

Параметр

Описание

EXCEPTION exception_name

Имя исключения (описанного в базе)

SQLCODE number

Код ошибки - SQLCODE

GDSCODEerrcode

Код ошибки InterBase

ANY

Обеспечивает вызов обработчика для любых

 

перехватываемых ошибок

<compound_statement>

Простой оператор или блок, осуществляющий

 

обработку ошибок

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

Вместо завершения работы при возникновении исключения процедура может обработать и возможно исправить ситуацию, приведшую к исключению. При возникновении исключения выполняются следующие действия:

Прекращается выполнение блока BEGIN ... END, содержащего исключение, и отменяются действия, выполненные в блоке.

Если блок содержит оператор WHEN, управление передается

вWHEN, в противном случае аналогичные действия производятся

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

Выполняются действия, определенные оператором (блоком), заданным в конструкции WHEN (если он обнаружен).

Управление возвращается оператору (блоку) программы, следующему за оператором WHEN.

Если исключение обработано с помощью WHEN, то соответствующее сообщение об ошибке не выдается.

Соседние файлы в предмете Базы данных