Predefined Exceptions

We discussed in the previous article (Expection Handling) that the exceptions can be either System pre-defined exceptions or User defined excpetions. Lets have a look on commonly used pre-defined exceptions with there error numbers:


Named Exception Error Number
DUP_VAL_ON_INDEX ORA-00001
TIMEOUT_ON_RESOURCE ORA-00051
TRANSACTION_BACKED_OUT ORA-00061
INVALID_CURSOR ORA-01001
NOT_LOGGED_ON ORA-01012
LOGIN_DENIED ORA-01017
NO_DATA_FOUND ORA-01403
SYS_INVALID_ROWID ORA-01410
TOO_MANY_ROWS ORA-01422
ZERO_DIVIDE ORA-01476
USERENV_COMMMITSCN_ERROR ORA-01725
INVALID_NUMBER ORA-01722
STORAGE_ERROR ORA-06500
PROGRAM_ERROR ORA-06501
VALUE_ERROR ORA-06502
ROWTYPE_MISMATCH ORA-06504
CURSOR_ALREADY_OPEN ORA-06511
ACCESS_INTO_NULL ORA-06530
COLLECTION_IS_NULL ORA-06531
SUBSCRIPT_OUTSIDE_LIMIT ORA-06532
SUBSCRIPT_BEYOND_COUNT ORA-06533
NO_DATA_NEEDED ORA-06548
CASE_NOT_FOUND ORA-06592
SELF_IS_NULL ORA-30625

 One type of exception can be defined once in a block but different type of exceptions can be raised in the same block. And nested blocks can be used to specify same exception to handle in different ways.
For Ex:
Syntax:
DECLARE
        Declaration section;
BEGIN
       Executable statements ;
EXCEPTION
    WHEN ex_name1 THEN
        Error handling statements;
   WHEN ex_name2 THEN
       Error handling statements ;
   WHEN Others THEN
       Error handling statements ;
END;
 

1 comment: