PRAGMA EXCEPTION_INIT v16
PRAGMA EXCEPTION_INIT associates a user-defined error code with an exception. You can include a
PRAGMA EXCEPTION_INIT declaration in any block, sub-block, or package. You can assign an error code to an exception using
PRAGMA EXCEPTION_INIT only after declaring the exception.
The format of a
PRAGMA EXCEPTION_INIT declaration is:
exception_name is the name of the associated exception.
exception_number is a user-defined error code associated with the pragma. If you specify an unmapped
exception_number, the server returns a warning.
exception_code is the name of a predefined exception. For a complete list of valid exceptions, see the Postgres core documentation.
This example uses a
PRAGMA EXCEPTION_INIT declaration:
The following procedure calls the
check_balance procedure. If
p_amount is greater than
check_balance raises an exception. The
purchase procedure catches the
ar.check_balance raises an exception, execution jumps to the exception handler defined in
The exception handler returns an error message, followed by
This example uses a predefined exception. The code creates a more meaningful name for the
no_data_found exception. If the given customer doesn't exist, the code catches the exception, calls
DBMS_OUTPUT.PUT_LINE to report the error, and then raises the original exception again: