Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Исключения
Исключения
Обработчики исключений могут быть написаны, чтобы "съесть" ошибку, обрабатывая ее разными способами. Например, в итеративной подпрограмме входная строка, вызывающая исключение, необязательно должна приводить к остановке всего процесса. Обработка исключения внутри триггера или хранимой процедуры может позволить пропустить проблемную входную строку - например, поместив сообщение об ошибке в протокол в текстовый файл или в таблицу ошибок - и дав возможность продолжить дальнейшую обработку.
Код в модуле может обрабатывать ошибку в необязательном фрагменте кода, называемом блоком исключения, который является последовательностью операторов, заключенных в операторные скобки BEGIN и END, которым предшествует ключевое слово WHEN.
Необработанное исключение останавливает процесс, отменяет всю выполненную к этому моменту работу[112] и возвращает сообщение об ошибке приложению. Вы также можете написать код, вызывающий пользовательское исключение и останавливающий процесс. Вы можете обработать эту ошибку в вашем коде или остановить процесс и вернуть пользовательское сообщение клиентскому приложению. Если модуль является триггером, то операция DML, в которой появилась эта ошибка, также будет отменена. В базе данных вы можете создать столько пользовательских исключений, сколько вам нужно. Начиная с версии 1.5, вы можете использовать данные времени выполнения и конструировать тексты для ваших сообщений об исключениях "на лету".
Обработка исключений и ошибок подробно обсуждается в главе 32.
- 1.2.7. Исключения
- Исключения и обработчики исключений
- Рассмотрите возможность исключения необязательной информации перед отправкой данных на устройство
- Ода ошибкам и исключениям
- Исключения, возникающие при выполнении операций над числами с плавающей точкой
- Ошибки и исключения
- Исключения, генерируемые приложением
- ГЛАВА 7 Взаимные исключения и условные переменные
- 10. Лекция: Операторы и структура кода. Исключения
- Исключения из правил оптимизации
- Восстановление при исключениях, сгенерированных операционной системой
- Исключения разработчика