An exception handler is in effect only during the execution of the actions of the rule in which it occurs. It traps exceptions generated both in the rule and in any of its descendant rules—rules that are below it in the calling hierarchy. If an exception is not trapped within the calling hierarchy, the transaction terminates with an error condition and the message log shows that the exception was signaled.
If an exception handler in two or more rules at different levels in the calling hierarchy can handle the same exception, the handler in the lowest rule at or above the point where the exception is raised handles the exception.
If a table name is specified, the handler traps the corresponding exception only if it is detected while accessing that table. If no table is specified, the handler traps the exception regardless of which table is being accessed.