2009-12-29 3 views
21

Где я могу найти полный список всех предопределенных исключений Oracle pl/SQL?Где я могу найти полный список предопределенных Oracle pl/SQL Exceptions?

В этом link Я нашёл этот список, их больше нет?

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 

ответ

21

Это для 11gr2, быстрое сканирование говорит, что они все те же: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/errors.htm#BABHDGGG

Это от $ ORACLE_HOME /rdbms/admin/stdspec.sql (хороший пункт от egorius стандартного пакета является местом для поиска ответа)

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

см. Эту ссылку для списка предопределенных исключений для oracle 9.2: http: //docs.oracle.com/cd/B10500_01/appdev. 920/a96624/07_errs.htm # 784 – Jakob

6

Предопределенные исключения объявлены в пакете SYS.STANDARD, там вы наверняка найдете их всех.

На моем 9.2.0.7 я нашел не в списке:

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

пожалуйста, как получить доступ к 'SYS.STANDARD package'? Я попытался войти в учетную запись 'sys' как' sysdba' и перейти к пакетам, но ничего не найти – sam

0

в дополнение к вопросу: как называется исключение, встает, когда появляется ошибка ORA-03135: connection lost contact. Как я могу справиться с этим?

Решение определить новое исключение и связать его с кодом ошибки:

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

см. Эту ссылку для правильного синтаксиса и рабочего экзамена: 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

все эти исключения: уже в вопросе – Origin