FirebirdSQL logo

Пользовательское исключение (exception) — объект базы данных, описывающий сообщение об ошибке.Исключение можно вызывать и обрабатывать в PSQL коде (см. EXCEPTION, WHEN …​ DO).

В данном разделе описываются операторы создания, модификации и удаления исключений.

CREATE EXCEPTION

Назначение

Создание пользовательского исключения для использования в PSQL модулях.

Доступно в

DSQL, ESQL

Синтаксис
CREATE EXCEPTION exception_name '<message>'

<message> ::= <message-part> [<message-part> ...]

<message-part> ::=
    <text>
  | @<slot>

<slot> ::= one of 1..9
Table 1. Параметры оператора CREATE EXCEPTION
Параметр Описание

exception_name

Имя исключения.Максимальная длина 63 символов.

message

Сообщение об ошибке.Максимальная длина ограничена 1021 символом.

text

Текст.

slot

Номер слота для параметра.Нумерация начинается с 1.Максимальный номер слота равен 9.

Оператор CREATE EXCEPTION создаёт новое пользовательское исключение для использования в PSQL модулях.Исключение должно отсутствовать в базе данных, иначе будет выдана соответствующая ошибка.

Имя исключения является стандартным идентификатором.В диалекте 3 оно может быть заключено в двойные кавычки, что делает его чувствительным к регистру.Подробности см. Идентификаторы.

Сообщение исключения сохраняется в наборе символов NONE, т.е.любых символов из однобайтовых наборов символов.Текст сообщения может быть переопределён в PSQL коде во время возбуждения исключения.

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

Warning
Внимание!

Если в тексте сообщения, встретится номер слота параметра больше 9, то второй и последующий символ будут восприняты как литералы.Например, @10 будет воспринято как @1, после которого следует литерал 0.

Note

Пользовательские исключения хранятся в таблице RDB$EXCEPTION.