Инструменты пользователя

Инструменты сайта


Боковая панель

Введение

Статьи и часто задаваемые вопросы

Установка и настройка

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

Полезные запросы SQL

Тематические группы

exception

EXCEPTION

Версии сервера

Firebird 1.5 Firebird 2.0

Формат

EXCEPTION [исключение [сообщение]];

Описание

Возбуждение пользовательского исключения или повторный вызов исключения.

:!: В версии 1.5 максимальная длина сообщения составляет 78 байт. Начиная с версии 2.0 - 1021 байт.

Пример

для примера можно изучить процедуру SHIP_ORDER базы employee.

создание исключения (полный синтаксис см. CREATE EXCEPTION)

CREATE EXCEPTION ORDER_ALREADY_SHIPPED 'Order status is "shipped."';

вызов по условию

IF (ord_stat = 'shipped') THEN
BEGIN
  EXCEPTION order_already_shipped;
END

вызов по условию с заменой сообщения

IF (ord_stat = 'shipped') THEN
BEGIN
  EXCEPTION order_already_shipped 'Order status is "'||ord_stat||'"';
END

подмена стандартного исключения

CREATE EXCEPTION COUNTRY_EXIST '';
CREATE PROCEDURE ADD_COUNTRY  
as
begin
  insert into country (country, currency)
    values ('Canada', 'CdnDlr');
  when sqlcode -803 do exception COUNTRY_EXIST 'Такая страна уже добавлена!';
end

См. также

Источник

Обсуждение

Сергей, 2012/06/01 16:24

Ребят возникла проблема в Firebird. У меня в первой процедуре при вводе некорректных данных вызывается исключение exception.Во второй процедуре я передаю данные в первую и после её выполнения получаю выходные данные, но исключения уже не срабатывают. Как можно исправить это без переписывания исключений во вторую процедуру?

Только авторизованные участники могут оставлять комментарии.
exception.txt · Последние изменения: 2018/02/08 14:41 — german