Exceptions Raised in Declarations:
Exceptions can be raised in declarations via faulty initialization expressions. For instance, the following declaration raises an exception since the constant limit cannot store numbers larger than 999:
DECLARE
limit CONSTANT NUMBER(3) := 5000;     -- raises an exception
BEGIN
...
EXCEPTION                
WHEN OTHERS THEN ...                                          -- cannot catch the exception
The Handlers in the current block cannot catch the raised exception since an exception raised in a declaration propagates instantly to the enclosing block.: