Исключительные ситуации (exception) – это сообщения, которые генерируются, когда появляется ошибка в теле хранимой процедуры или триггера.
В СУБД Firebird существуют предварительно определенные исключения с ассоциированными с ними текстами сообщений. Такие сообщения выдаются пользователю, например, при попытке удалить объект, который находится в использовании, при попытке вставить некорректные данные в столбец, на который наложено ограничение, и т.д. Но, кроме этого, существует возможность создания пользовательских исключений.
Для определения нового пользовательского исключения используется запрос CREATEEXCEPTON, имеющий следующий формат:
CREATE EXCEPTON имя_исключения <сообщение>;, где <сообщение> - строка текста длиной до 78 символов, заключенная в апострофы.
Например, чтобы создать исключительную ситуацию с именем ExcErr и сообщением 'Ошибка', необходимо использовать следующий запрос: CREATE EXCEPTION ExcErr 'Ошибка';.
Для изменения текста сообщения служит запрос ALTER EXCEPTION, например:
ALTER EXCEPTION ExcErr 'Ошибка преобразования';.
Если требуется заново создать исключение со старым именем, то используется запрос RECREATE EXCEPTION. Если исключение не существует перед использованием этого запроса, то его использование эквивалентно выполнению запроса CREATE EXCEPTION. Если исключение уже существует, то запрос RECREATE EXCEPTION удаляет его (если оно не используется другими объектами) и создает полностью новый объект, например в следующем случае:
RECREATE EXCEPTION ExcErr'Ошибка преобразованияданных';.
Также может использоваться запрос CREATE OR ALTER EXCEPTION, который создает исключение, если оно не существует, или изменяет определение существующего исключения (даже если оно используется другими объектами БД).
предыдущаяследующая