2009-12-29 29 views
21

¿Dónde puedo encontrar una lista completa de todas las excepciones Oracle pl/SQL predefinidas?¿Dónde puedo encontrar una lista completa de excepciones Oracle pl/SQL predefinidas?

En este link encontré esta lista, ¿ya no existen?

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 

Respuesta

21

Estos son para 11gR2, un análisis rápido dice que siguen siendo los mismos: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/errors.htm#BABHDGGG

Esto es de $ ORACLE_HOME /rdbms/admin/stdspec.sql (buen punto de paquete estándar Egorius es el lugar para buscar la respuesta)

 /********** 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 **********/ 
+0

consulte este enlace para obtener una lista de las excepciones predefinidas para Oracle 9.2: http: //docs.oracle.com/cd/B10500_01/appdev. 920/a96624/07_errs.htm # 784 – Jakob

6

excepciones predefinidas se declaran en SYS.STANDARD paquete, hay seguramente encontrará a todos.

En mi 9.2.0.7 me pareció que no está en la lista:

USERENV_COMMITSCN_ERROR exception; 
pragma EXCEPTION_INIT(USERENV_COMMITSCN_ERROR, '-1725'); 
+0

favor cómo acceder a la 'package' SYS.STANDARD? Intenté iniciar sesión en la cuenta 'sys' como' sysdba' y navegar a los paquetes, pero no encontré nada. – sam

0

Además de su pregunta: ¿cuál es el nombre de la excepción, se levantó cuando aparece ORA-03135: connection lost contact error. ¿Cómo puedo manejarlo?

La solución es definir una nueva excepción y asociarlo con un código de error:

exception connection_error; 
pragma exception_init(connection_error, -3135); 

... 

exception 
    when connection_error then 
     ... 

http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14261/exceptioninit_pragma.htm

+0

consulte este enlace para obtener la sintaxis correcta y el examen de trabajo: http://docs.oracle.com/cd/B10500_01/appdev.920/a96624/07_errs.htm#877 – Jakob

-2
No_data_found  ora-01403 
too_many_rows  ora-1422 
zero_divide   ora-1476 
dup_val_on_index  ora-00001 
invalid_cursor  ora-1001 
cursor already_open ora-06511 
invalid_number  ora-01722 
value_error   ora-06502 
ACCESS_INTO_NULL  ORA-06530 
CASE_NOT_FOUND  ORA-06592 
COLLECTION_IS_NULL ORA-06531 
+1

todas estas excepciones son Ya en la pregunta – Origin

Cuestiones relacionadas