Содержание
- 2. В PL/SQL ошибки всех видов интерпретируются как исключения — ситуации, которые не должны возникать при выполнении
- 3. Обработка исключительных ситуаций Обработка исключения в том же блоке. Исключение обработано Передача исключения во внешнюю среду.
- 4. С ключевого слова EXCEPTION начинается блок обработки особых ситуаций. Допустимо использование нескольких обработчиков событий Ключевое слово
- 5. DECALRE BEGIN …… EXCEPTION WHEN exception1 [OR exception2 . . .] THEN statement1; statement2; ... [WHEN
- 6. Предопределенные ошибки Oracle Не требуют объявления, доступны всегда. Часто возникающие ошибки: TOO_MANY_ROWS NO_DATA_FOUND INVALID_CURSOR CURSOR_ALREADY_OPEN NOT_LOGGED_ON
- 7. Для ссылки на предопределенные исключения используются стандартные, зарезервированные описатели исключений. Предопределенные исключения: Исключения предопределенные ORACLE
- 8. Исключения предопределенные ORACLE
- 9. BEGIN ... EXCEPTION WHEN NO_DATA_FOUND THEN statement1; statement2; WHEN TOO_MANY_ROWS THEN statement1; WHEN OTHERS THEN statement1;
- 10. Не предопределенные ошибки Oracle Не предопределенные ошибки обрабатываются в блоке исключения как и предопределенные, но в
- 11. Функции SQLCODE SQLERRM SQLCODE: Возвращает числовое значение для кода последней возникшей ошибки (кроме NO_DATA_FOUND для нее
- 12. Не предопределенные исключения Oracle Объявление Ассоциация Ссылка DECLARE декларативный раздел Раздел обработки Исключений EXCEPTION Имя исключения
- 13. Обработка исключения ORA–2292 нарушение ограничения целостности: ORA-02292: violated integrity constraint (owner.constraintname)- child record found DECLARE ERROR_DELETE_MY
- 14. Пример логирования ошибок DECLARE v_error_code NUMBER; v_error_message VARCHAR2(255); BEGIN ... EXCEPTION ... WHEN OTHERS THEN ROLLBACK;
- 15. Обработка пользовательских исключений Объявление Инициация Ссылка Декларативный раздел Раздел обработки исключений Имя исключения Явный вызов исключения,
- 16. Обработка пользовательских исключений DECLARE e_invalid_department EXCEPTION; BEGIN UPDATE dept SET dname =’Testers’ WHERE deptno =11111; IF
- 17. RAISE_APPLICATION_ERROR Предназначена для генерации ошибок, установленных пользователем. Преимущество перед командой RAISE (которая тоже может инициировать явно
- 18. RAISE_APPLICATION_ERROR Используется в двух различных местах: - Выполнимый раздел. Пример 1 след слайд - Раздел Исключения
- 19. Примеры Пример 2 ... EXCEPTION WHEN NO_DATA_FOUND THEN RAISE_APPLICATION_ERROR (-20201,’This is not a valid employee’); END;
- 20. Передача исключений во внешнюю среду Сначала PL/SQL ищет обработчик исключения в текущем блоке (анонимном блоке, процедуре
- 21. Итоги Исключения Предопределенные Oracle Не предопределенные исключения Пользовательские Инициализация и обработка исключений
- 23. Скачать презентацию