Основы языка PL/SQL. Гаршина В.В - 27 стр.

UptoLike

Составители: 

27
2.4. Обработка исключений
Исключениеэто переменная в PL/SQL, возбуждаемая во время вы-
полнения блока и прекращающая выполнение действий в теле блока. Если
PL/SQL возбуждает исключение, выполнение блока прерывается всегда, но
вы можете указать обработчик исключения, который выполнит некоторые
заключительные действия. Методы возбуждения исключения:
Автоматически в случае возникновения ошибки Oracle.
Явно с помощью
предложения RAISE.
Если исключение возбуждается в выполняемой секции блока, управ-
ление передается соответствующему обработчику исключений в секции
обработки исключений блока (секции EXCEPTION). Если PL/SQL успеш-
но обработает исключение, оно не распространяется во внешний блок или
среду. Если же исключение возбуждено в выполняемой секции блока, а
соответствующего обработчика исключений нет, выполнение блока
PL/SQL прекращается в
аварийном порядке.
Различают три типа исключений:
Предопределенное, возбуждаемое сервером Oracle. Одна из при-
мерно 20 типичных ошибок, возникающих при выполнении программ
PL/SQL. Описание не требуется.
Непредопределенное, возбуждаемое сервером Oracle. Любая другая
ошибка сервера Oracle. Требуется описание в декларативной секции.
Пользовательское. Условие, которое разработчик считает ненормаль-
ным. Необходимо определять в декларативной секции и возбуждать явно
.
Синтаксис описания исключений:
EXCEPTION
WHEN exception1
[OR exception2 ...]
THEN
operator1;
operator2;
. . .
WHEN exception3
[OR exception4 ...]
THEN
     2.4. Обработка исключений

      Исключение – это переменная в PL/SQL, возбуждаемая во время вы-
полнения блока и прекращающая выполнение действий в теле блока. Если
PL/SQL возбуждает исключение, выполнение блока прерывается всегда, но
вы можете указать обработчик исключения, который выполнит некоторые
заключительные действия. Методы возбуждения исключения:
      – Автоматически в случае возникновения ошибки Oracle.
      – Явно с помощью предложения RAISE.
      Если исключение возбуждается в выполняемой секции блока, управ-
ление передается соответствующему обработчику исключений в секции
обработки исключений блока (секции EXCEPTION). Если PL/SQL успеш-
но обработает исключение, оно не распространяется во внешний блок или
среду. Если же исключение возбуждено в выполняемой секции блока, а
соответствующего обработчика исключений нет, выполнение блока
PL/SQL прекращается в аварийном порядке.
      Различают три типа исключений:
      – Предопределенное, возбуждаемое сервером Oracle. Одна из при-
мерно 20 типичных ошибок, возникающих при выполнении программ
PL/SQL. Описание не требуется.
      – Непредопределенное, возбуждаемое сервером Oracle. Любая другая
ошибка сервера Oracle. Требуется описание в декларативной секции.
      – Пользовательское. Условие, которое разработчик считает ненормаль-
ным. Необходимо определять в декларативной секции и возбуждать явно.
      Синтаксис описания исключений:

     EXCEPTION
          WHEN exception1
               [OR exception2 ...]
          THEN
                operator1;
                operator2;
                . . .
          WHEN exception3
               [OR exception4 ...]
          THEN
                                     27