Exceptions Raised in Handlers:
Only one exception at a time can be active in the exception-handling category of a block or subprogram. Then, an exception raised inside a handler propagates instantly to the enclosing block, that is searched to seek a handler for the newly raised exception. From there on, an exception propagates simply. Let consider the given example:
Example
EXCEPTION
WHEN INVALID_NUMBER THEN
INSERT INTO ... -- might raise DUP_VAL_ON_INDEX
WHEN DUP_VAL_ON_INDEX THEN . -cannot catch the exception