Обработчики исключений Общее описание

В отсутствие собственного механизма обработки исключений для прикладных программ наиболее общейреакцией на любую исключительную ситуацию является немедленное прекращение выполнения с выдачейпользователю сообщения о характере исключения. Можно сказать, что в подобных случаях единственным иуниверсальным обработчиком исключений становится операционная система. Возможно игнорированиеисключительной ситуации и продолжение работы, но такая тактика опасна, так как приводит к ошибочнымрезультатам работы программ или возникновению ошибок впоследствии. Например, проигнорировав ошибкучтения из файла блока данных, программа получит в своё распоряжение не те данные, которые она должнабыла считать, а какие-то другие. Результаты их использования предугадать невозможно.

Обработка исключительных ситуаций самой программой заключается в том, что при возникновенииисключительной ситуации, управление передаётся некоторому заранее определённому обработчику —блоку кода, процедуре, функции, которые выполняют необходимые действия.

Существует два принципиально разных механизма функционирования обработчиков исключений:

· Обработка с возвратом подразумевает, что обработчик исключения ликвидирует возникшую проблему иприводит программу в состояние, когда она может работать дальше по основному алгоритму. В этом случаепосле того, как выполнится код обработчика, управление передаётся обратно в ту точку программы, гдевозникла исключительная ситуация (либо на команду, вызвавшую исключение, либо на следующую за ней,как в некоторых старых диалектах языка BASIC) и выполнение программы продолжается. Обработка свозвратом типична для обработчиков асинхронных исключений (которые обычно возникают по причинам, несвязанным прямо с выполняемым кодом), для обработки синхронных исключений она малопригодна.

· Обработка без возврата заключается в том, что после выполнения кода обработчика исключенияуправление передаётся в некоторое, заранее заданное место программы, и с него продолжаетсяисполнение.

Существует два варианта подключения обработчика исключительных ситуаций к программе: структурная инеструктурная обработка исключений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: