Where can I find a full list of all predefined Oracle pl/SQL Exceptions?
In this link i found this list, are there anymore?
ACCESS_INTO_NULL ORA-06530 CASE_NOT_FOUND ORA-06592 COLLECTION_IS_NULL ORA-06531 CURSOR_ALREADY_OPEN ORA-06511 DUP_VAL_ON_INDEX ORA-00001 INVALID_CURSOR ORA-01001 INVALID_NUMBER ORA-01722 LOGIN_DENIED ORA-01017 NO_DATA_FOUND ORA-01403 NOT_LOGGED_ON ORA-01012 PROGRAM_ERROR ORA-06501 ROWTYPE_MISMATCH ORA-06504 SELF_IS_NULL ORA-30625 STORAGE_ERROR ORA-06500 SUBSCRIPT_BEYOND_COUNT ORA-06533 SUBSCRIPT_OUTSIDE_LIMIT ORA-06532 SYS_INVALID_ROWID ORA-01410 TIMEOUT_ON_RESOURCE ORA-00051 TOO_MANY_ROWS ORA-01422 VALUE_ERROR ORA-06502 ZERO_DIVIDE ORA-01476
An Exception Table is stored in PermGen / Metaspace on Non-Heap storage per method. It is created when a method defines try-catch or finally blocks. When an exception is thrown, the JVM would use the exception table to locate its handler.
There are three types of exceptions: Predefined exceptions are error conditions that are defined by PL/SQL.
Predefined exceptions are errors which occur during the execution of the program. The predefined exceptions are internally defined exceptions that PL/SQL has given names e.g., NO_DATA_FOUND , TOO_MANY_ROWS .
The pre-defined exception TOO_MANY_ROWS is raised when PL/SQL ran out of memory or memory was corrupted. A cursor fetches value in a variable having incompatible data type.
These are for 11gr2, a quick scan says they are still the same: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/errors.htm#BABHDGGG
This is from $ORACLE_HOME/rdbms/admin/stdspec.sql (good point from egorius standard package is the place to look for the answer)
/********** Predefined exceptions **********/ CURSOR_ALREADY_OPEN exception; pragma EXCEPTION_INIT(CURSOR_ALREADY_OPEN, '-6511'); DUP_VAL_ON_INDEX exception; pragma EXCEPTION_INIT(DUP_VAL_ON_INDEX, '-0001'); TIMEOUT_ON_RESOURCE exception; pragma EXCEPTION_INIT(TIMEOUT_ON_RESOURCE, '-0051'); INVALID_CURSOR exception; pragma EXCEPTION_INIT(INVALID_CURSOR, '-1001'); NOT_LOGGED_ON exception; pragma EXCEPTION_INIT(NOT_LOGGED_ON, '-1012'); LOGIN_DENIED exception; pragma EXCEPTION_INIT(LOGIN_DENIED, '-1017'); NO_DATA_FOUND exception; pragma EXCEPTION_INIT(NO_DATA_FOUND, 100); ZERO_DIVIDE exception; pragma EXCEPTION_INIT(ZERO_DIVIDE, '-1476'); INVALID_NUMBER exception; pragma EXCEPTION_INIT(INVALID_NUMBER, '-1722'); TOO_MANY_ROWS exception; pragma EXCEPTION_INIT(TOO_MANY_ROWS, '-1422'); STORAGE_ERROR exception; pragma EXCEPTION_INIT(STORAGE_ERROR, '-6500'); PROGRAM_ERROR exception; pragma EXCEPTION_INIT(PROGRAM_ERROR, '-6501'); VALUE_ERROR exception; pragma EXCEPTION_INIT(VALUE_ERROR, '-6502'); ACCESS_INTO_NULL exception; pragma EXCEPTION_INIT(ACCESS_INTO_NULL, '-6530'); COLLECTION_IS_NULL exception; pragma EXCEPTION_INIT(COLLECTION_IS_NULL , '-6531'); SUBSCRIPT_OUTSIDE_LIMIT exception; pragma EXCEPTION_INIT(SUBSCRIPT_OUTSIDE_LIMIT,'-6532'); SUBSCRIPT_BEYOND_COUNT exception; pragma EXCEPTION_INIT(SUBSCRIPT_BEYOND_COUNT ,'-6533'); -- exception for ref cursors ROWTYPE_MISMATCH exception; pragma EXCEPTION_INIT(ROWTYPE_MISMATCH, '-6504'); SYS_INVALID_ROWID EXCEPTION; PRAGMA EXCEPTION_INIT(SYS_INVALID_ROWID, '-1410'); -- The object instance i.e. SELF is null SELF_IS_NULL exception; pragma EXCEPTION_INIT(SELF_IS_NULL, '-30625'); CASE_NOT_FOUND exception; pragma EXCEPTION_INIT(CASE_NOT_FOUND, '-6592'); -- Added for USERENV enhancement, bug 1622213. USERENV_COMMITSCN_ERROR exception; pragma EXCEPTION_INIT(USERENV_COMMITSCN_ERROR, '-1725'); -- Parallel and pipelined support NO_DATA_NEEDED exception; pragma EXCEPTION_INIT(NO_DATA_NEEDED, '-6548'); -- End of 8.2 parallel and pipelined support /********** Add new exceptions here **********/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With