Содержание
- 2. Рассматриваемые вопросы Определение исключений PL/SQL Распознавание необработанных исключений Различные типы обработчиков исключений PL/SQL и их использование
- 3. Пример SET SERVEROUTPUT ON DECLARE lname VARCHAR2(15); BEGIN SELECT last_name INTO lname FROM employees WHERE first_name='John';
- 4. Пример SET SERVEROUTPUT ON DECLARE lname VARCHAR2(15); BEGIN SELECT last_name INTO lname FROM employees WHERE first_name='John';
- 5. Обработка исключений в PL/SQL Исключение – это ошибка PL/SQL, возникающая во время выполнения программы. Как возникает
- 6. Обработка исключений Исключение возбуждено Исключение перехвачено? Завершение без ошибок нет Немедленное завершение Передача исключения в вызывающую
- 7. Типы исключений Предопределенные, возбуждаемые сервером Oracle Не предопределенные, возбуждаемые сервером Oracle Пользовательские } Возбуждаются неявно Возбуждаются
- 8. Перехват исключений Синтаксис: EXCEPTION WHEN исключение1 [OR исключение2 . . .] THEN команда1; команда2; . .
- 9. Перехват исключений: указания Секция обработки исключений начинается с ключевого слова EXCEPTION Допускается несколько обработчиков исключений Перед
- 10. Перехват предопределенных ошибок сервера Oracle В программе обработки исключений ссылайтесь на стандартное имя исключения. Существует 20
- 11. Предопределенные ошибки сервера Oracle
- 12. Предопределенные ошибки сервера Oracle
- 13. Перехват непредопределенных исключений сервера Oracle Декларативная секция Присвоение имени исключению Кодирование указания компилятору PRAGMA EXCEPTION_INIT Секция
- 14. SET SERVEROUTPUT ON DECLARE insert_excep EXCEPTION; PRAGMA EXCEPTION_INIT (insert_excep, -01400); BEGIN INSERT INTO departments (department_id, department_name)
- 15. Функции для перехвата исключений SQLCODE: возвращает числовой код ошибки SQLERRM: возвращает сообщение, связанное с кодом ошибки
- 16. Функции для перехвата исключений Пример: DECLARE error_code NUMBER; error_message VARCHAR2(255); BEGIN ... EXCEPTION ... WHEN OTHERS
- 17. Перехват пользовательских исключений Декларативная секция Присвоение имени исключению Исполняемая секция Явное возбуждение исключения с помощью команды
- 18. Перехват пользовательских исключений ... ACCEPT deptno PROMPT 'Please enter the department number:' ACCEPT name PROMPT 'Please
- 19. Распространение исключений, возникших в подблоке DECLARE . . . no_rows exception; integrity exception; PRAGMA EXCEPTION_INIT (integrity,
- 20. Процедура RAISE_APPLICATION_ERROR Синтаксис: Процедура, которая позволяет посылать пользовательские сообщения об исключениях из хранимых подпрограмм. Можно сообщать
- 21. Процедура RAISE_APPLICATION_ERROR Может использоваться в двух местах: Исполняемая секция Секция исключений Возвращает пользователю информацию об исключении
- 22. RAISE_APPLICATION_ERROR BEGIN ... DELETE FROM employees WHERE manager_id = v_mgr; IF SQL%NOTFOUND THEN RAISE_APPLICATION_ERROR(-20202, 'This is
- 23. Итоги Определение исключений PL/SQL Добавление в блок PL/SQL секции EXCEPTION, предназначенной для обработки исключений во время
- 25. Скачать презентацию