14.27 Exception Handler
An exception handler processes a raised exception.
Exception handlers appear in the exception-handling parts of anonymous blocks, subprograms, triggers, and packages.
Topics
Syntax
Semantics
exception_handler
exception
Name of either a predefined exception (see Table 12-3) or a user-defined exception (see "Exception Declaration").
If PL/SQL raises a specified exception, then the associated statements run.
OTHERS
Specifies all exceptions not explicitly specified in the exception handling part of the block. If PL/SQL raises such an exception, then the associated statements run.
Note:
Oracle recommends that the last statement in the OTHERS
exception handler be either RAISE
or an invocation of a subroutine marked with pragma SUPPRESSES_WARNING_6009
.
If you do not follow this practice, and PL/SQL warnings are enabled, you get PLW-06009
.
In the exception handling part of a block, the WHEN
OTHERS
exception handler is optional. It can appear only once, as the last exception handler in the exception handling part of the block.
Examples
-
Example 12-3, "Single Exception Handler for Multiple Exceptions"
-
Example 12-4, "Locator Variables for Statements that Share Exception Handler"
-
Example 12-6, "Anonymous Block Handles ZERO_DIVIDE"
-
Example 12-7, "Anonymous Block Avoids ZERO_DIVIDE"
-
Example 12-10, "Declaring, Raising, and Handling User-Defined Exception"
-
Example 12-14, "Exception that Propagates Beyond Scope is Handled"
-
Example 12-24, "Exception Handler Runs and Execution Ends"
-
Example 12-25, "Exception Handler Runs and Execution Continues"
-
Example 13-12, "Handling FORALL Exceptions Immediately"
-
Example 13-13, "Handling FORALL Exceptions After FORALL Statement Completes"