meta data for this page
EXCEPTION
Available in: PSQL
Changed in: 1.5
Description
The EXCEPTION syntax has been extended so that the user can
a. Rethrow a caught exception or error.
b. Provide a custom message when throwing a user-defined exception.
Syntax
EXCEPTION [<exception-name> [custom-message]] <exception-name> ::= A previously defined exception name
Rethrowing a caught exception
Within the exception handling block only, you can rethrow the caught exception or error by giving the EXCEPTION command without any arguments. Outside such blocks, this “bare” command has no effect.
Example
when any do begin insert into error_log (...) values (sqlcode, ...); exception; end
This example first logs some information about the exception or error, and then rethrows it.
Providing a custom error message
Firebird 1.5 and up allow you to override an exception's default error message by supplying an alternative one when throwing the exception.
Examples
exception ex_data_error 'You just lost some valuable data'; exception ex_bad_type 'Wrong type for record with id ' || new.id;
Note: Starting at version 2.0, the maximum message length is 1021 instead of 78 characters.