Воскресенье, 02.02.2025, 09:45
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
Полезности от друзей [0]
Всякая всячина
Развлечения, новости, ну и т.п. [3]
Cтатьи по программированию [1]
Статьи по настройке и администрированию [1]
Форма входа
Поиск
Друзья сайта
Персональный сайт Владислава Глухова
Главная » Статьи » Общий » Cтатьи по программированию

Обработка ошибок в PL/SQL
Обработка ошибок в PL\SQL производиться при помощи использования инструкции EXCEPTION и делиться на предопределённые и определённые пользователем.
 
Предопределённые бывают такого типа:
ACCESS_INTO_NULL

COLLECTION_IS_NULL

CURSOR_ALREADY_OPEN

DUP_VAL_ON_INDEX

INVALID_CURSOR

INVALID_NUMBER

LOGIN_DENIED

NO_DATA_FOUND

NOT_LOGGED_ON

PROGRAM_ERROR

ROWTYPE_MISMATCH

SELF_IS_NULL

STORAGE_ERROR

SUBSCRIPT_BEYOND_COUNT

SUBSCRIPT_OUTSIDE_LIMIT

SYS_INVALID_ROWID

TIMEOUT_ON_RESOURCE

TOO_MANY_ROWS

VALUE_ERROR

ZERO_DIVIDE
 
Более подробное описание можно получить по ссылке http://www.cs.umbc.edu/help/oracle8/server.815/a67842/06_errs.htm#784
 
Определённые пользователем описываються в ручную по схеме:
 
DECLARE
   past_due EXCEPTION;
   acct_num NUMBER;
BEGIN
   DECLARE  ---------- sub-block begins
      past_due EXCEPTION;  -- this declaration prevails
      acct_num NUMBER;
   BEGIN
      ...
      IF ... THEN
         RAISE past_due;  -- this is not handled
      END IF;
   END;  ------------- sub-block ends
EXCEPTION
   WHEN past_due THEN  -- does not handle RAISEd exception
      ...
END;
Также определённые пользователем могут быть связанны с стандартными ошибками Oracle, пример:
 
DECLARE
   deadlock_detected EXCEPTION;
   PRAGMA EXCEPTION_INIT(deadlock_detected, -60);
BEGIN
   ...
EXCEPTION
   WHEN deadlock_detected THEN
      -- handle the error
END;
Категория: Cтатьи по программированию | Добавил: VladUa (22.05.2009)
Просмотров: 1530 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Сделать бесплатный сайт с uCozCopyright MyCorp © 2025