Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Обработка ошибок

Обработка ошибокОбработка информации сильно варьируется в процедурных расширениях СУБД, рассматриваемых в настоящей книге. Oracle, IBM DB2 и Microsoft SQL Server 2008 используют структурированную обработку ошибок для работы с анормальными состояниями, возникающими во время выполнения программ. При возникновении ошибок СУБД генерирует Исключения (реальный синтаксис отличается в разных реализациях СУБД). Исключения могут быть предопределенными (к примеру, одно из наиболее популярных в Oracle исключений, NO_DATA_ FOUND, возникает, когда инструкция SELECT…INTO не возвращает строк) и определяемыми пользователем. Microsoft SQL Server 2008 позволяет генерировать, перехватывать и обрабатывать исключения в теле программы. Обработка ошибок — довольно сложный процесс. В этой главе мы рассмотрим только его основы; более детальную информацию можно получить в документации СУБД. Все программные блоки PL/SQL имеют необязательный раздел EXCEPTION, которому передается управление при возникновении ошибок. Oracle имеет множество предопределенных исключений; одно из них, NO_DATA_FOUND, мы уже упоминали. Еще одним часто используемым исключением является TOO_MANY_ROWS, которое возникает, если однострочный подзапрос возвращает сразу несколько строк. Общим исключением, генерируемым при возникновении любой ошибки, является OTHERS. Программист также может определить и инициализировать дополнительные исключения в разделе объявлений и использовать их в теле программы. Действия, предпринимаемые для обработки конкретных исключений, могут сильно отличаться. К примеру, можно откатить или подтвердить транзакцию или выйти из программы. В некоторых ситуациях можно не предпринимать дополнительных действий, а просто продолжать выполнение программы. Можно отображать (либо записывать в таблицу или системный файл) сообщение об ошибке и т. д.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *