Можно связывать именованные исключительные ситуации с конкретными ошибками Oracle, что позволяет обнаруживать эти ошибки непосредственно, а не с помощью обработчика OTHERS. Для этого служит прагма EXCEPTIONJNIT (см. главу 3). Прагма EXCEPTIONINIT используется следующим образом:
PRAGMA EXCEPTIONINIT (имя_исключительной_ситуации, номер_ошибки_Oracle);
где имя_исключительной_ситуации — это имя исключительной ситуации,
объявленной перед прагмой, а номер_ошибки_Oracle - код ошибки, которую нужно связать с этой именованной исключительной ситуацией.
Прагма должна быть указана в разделе объявлений. Ниже приводится пример, в котором исключительная ситуация определяется пользователем и устанавливается, если во время выполнения программы происходит ошибка "ORA-1400: mandatory NOT NULL column missing or NULL during insert" (при вводе данных в столбец NOT NULL пропущено значение или указано
В одном предложении PRAGMA EXCEPTIOIsMNTT можно связать с ошибкой Oracle только одну исключительную ситуацию, определяемую пользователем. В обработчике этой исключительной ситуации функции SQLCODE и SQLERRM будут возвращать код и сообщение, соответствующие ошибке Oracle, а не сообщение "User- Defined Exception" (определенное пользователем исключение).
< Предыдущая | Следующая > |
---|