Операционные системы. Учебное пособие. Марапулец Ю.В. - 89 стр.

UptoLike

Составители: 

Исключения, порожденные в блоке TRY, обрабатываются в блоках CATCH и
AND_CATCH. Допускается и рекурсивная обработка: исключения могут быть переданы
внешнему блоку TRY путем их игнорирования или в результате вызова макрокоманды
THROW_LAST.
Все блоки CATCH должны завершаться макрокомандой END_CATCH или
END_CATCH_ALL. Если в программе нет блоков CATCH, блок TRY сам должен завер-
шаться указанными макрокомандами.
Макрокоманды THROW и THROW_LAST генерируют заданное исключение, пре-
рывают выполнение программы и передают управление блоку CATCH. Если таковой
отсутствует, управление передается модулю библиотеки MFC, который отображает со-
общение об ошибке и завершает свою работу. Макрокоманда THROW_LAST передает
исключение назад внешнему блоку CATCH.
Если исключение перехвачено одной из макрокоманд, объект CException удаляется
автоматически. Если же оно перехвачено с использованием блока catch, объект CExcep-
tion невозможно удалить автоматически, поэтому в программе для этого должны быть
предусмотрены специальные меры.
91
      Исключения, порожденные в блоке TRY, обрабатываются в блоках CATCH и
AND_CATCH. Допускается и рекурсивная обработка: исключения могут быть переданы
внешнему блоку TRY путем их игнорирования или в результате вызова макрокоманды
THROW_LAST.
      Все блоки CATCH должны завершаться макрокомандой END_CATCH или
END_CATCH_ALL. Если в программе нет блоков CATCH, блок TRY сам должен завер-
шаться указанными макрокомандами.
      Макрокоманды THROW и THROW_LAST генерируют заданное исключение, пре-
рывают выполнение программы и передают управление блоку CATCH. Если таковой
отсутствует, управление передается модулю библиотеки MFC, который отображает со-
общение об ошибке и завершает свою работу. Макрокоманда THROW_LAST передает
исключение назад внешнему блоку CATCH.
      Если исключение перехвачено одной из макрокоманд, объект CException удаляется
автоматически. Если же оно перехвачено с использованием блока catch, объект CExcep-
tion невозможно удалить автоматически, поэтому в программе для этого должны быть
предусмотрены специальные меры.




                                        91