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

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

Мова PL/SQL. Опрацювання вилучень. Обробка возбуждаємих вилучень.

 

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

Имеется два вида возбуждения исключений:

  1. Имеет место ошибка ORACLE, и соответствующее исключение возбуждается автоматически (например, если команда SELECT не возвращает ни одной строки, в блоке возникает ошибка ORA­01403 и возбуждается исключение NO_DATA_FOUND) ;
  2. Исключение возбуждается явно с помощью команды RAISE в блоке (это может быть предопределенное или пользовательское исключение).

Каждый обработчик исключения состоит из ключевого слова WHEN, задающего исключение, за которым следует последовательность команд, выполняемых в случае, если исключение возбуждено. Ключевое слово OTHERS обозначает обработку всех исключений, не перечисленных явно, но пользоваться им нужно крайне аккуратно, обычно его вызывают в последнюю очередь, поскольку, если сделать проверку на него - он сработает, но вот исключения, описанные под ним - не сработают.

  • EXCEPTION
  •                    WHEN ТипИсключения
  •                    THEN
  •                     … ...
  • END;

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

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


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