DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Обработка исключительных ситуаций

Как показано на рис. 7.1, при установлении исключительной ситуации управление программой передается разделу исключительных ситуаций блока. В этот раздел входят обработчики для некоторых или всех исклю­чительных ситуаций. В обработчике содержится программный текст, вы­полняющийся при возникновении соответствующей ошибки и при установлении данной исключительной ситуации. Ниже приводится син­таксис этого раздела:
EXCEPTION WHEN для_исключитпельной_ситуации1 THEN
последовательность_операторов1; WHEN для_исключитпельной_ситуации2 THEN последовательность_операторов2; [ WHEN OTHERS THEN
последовательность_операторов3] END;
Каждый обработчик состоит из условия WHEN (когда) и операторов, выполняющихся при установлении исключительной ситуации. В WHEN указывается, для какой исключительной ситуации предназначен данный обработчик. Продолжим рассмотренный выше пример:
Один обработчик может обслуживать несколько исключительных си­туаций, для чего нужно перечислить их имена в условии WHEN, отделив одно от другого ключевым словом OR (или):

Внимание
В отличие от Java, раздел исключений блока может иметь обработчики для исключений, которые не инициируются разделом выполнения, а также он может не обрабатывать исключения, инициируемые разделом выполнения. В настоящее время компилятор PL/SOL не проверяет раздел выполнения в этом отношении.
Данная исключительная ситуация может обрабатываться максимум толь­ко одним обработчиком в разделе обработки исключений. Если для иск­лючительной ситуации имеется более одного обработчика, компилятор PL/SQL будет инициировать ошибку PLS483, как показывает следующий сеанс


 









jAntivirus