пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Программирование в интернет:
» ПИ
» ОКГТМ
» КИНФС

Мова PL/SQL. Опрацювання вилучень. Переваги вилучень. Вилучення користувачів. Об’ява вилучень.

Исключение ­ это переменная в PL/SQL, возбуждаемая во время выполнения блока. В случае возбуждения исключения (исключительной ситуации), блок всегда прекращает работу, но можно задать обработчик исключения для выполнения заключительных действий.

Объявление исключения объявляет имя для определенного пользователем исключения. Когда исключение возбуждается (внутренне или через RAISE), нормальное выполнение блока PL/SQL останавливается, и выполняются предложения в соответствующем обработчике исключений. Когда обработчик завершается, управление возвращается во внешнее по отношению к блоку окружение.

Исключение должно возбуждаться лишь в случае ошибки, которая делает невозможным или нежелательным продолжение обработки. Если в текущем блоке нет обработчика исключений для возбужденного исключения, то это исключение ПРОДВИГАЕТСЯ в окружающий блок согласно следующим правилам:

  • Если для текущего блока есть окружающий блок, то исключение передается в этот блок. Теперь окружающий блок становится текущим, а исключение воспроизводит себя в нем. Если обработчик исключения не находится и в этом блоке, процесс поиска повторяется.
  • Если текущий блок не имеет окружающего блока, то PL/SQL возвращает ошибку "необрабатываемое исключение” в хост-окружение.

Лишь одно исключение в каждый момент времени может быть активно в части обработки исключений блока. Поэтому если исключение возбуждается внутри обработчика, оно немедленно продвигается в окружающий блок. С этого момента исключение продвигается обычным образом.

PL/SQL позволяет определять и возбуждать собственные исключения. Для этого они должны быть объявлены в декларативной секции и возбуждены командой RAISE.

Процедура RAISE_APPLICATION_ERROR позволяет посылать собственные пользовательские сообщения об исключениях из хранимых программ. Эта процедура возвращает пользователю информацию об исключении тем же способом, которым пользуется сервер Oraсle для возвращения информации для прочих исключений. Процедура RAISE_APPLICATION_ERROR вызывается только из хранимых подпрограмм.


21.01.2016; 19:45
хиты: 75
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь