Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Перехват исключений



Когда с помощью выражения в операторе throw генерируется (формируется) специальный объект, называемый исключением, функции исполнительной библиотеки C++ выполняют следующие действия:

• создают копию параметра throw в виде временного статического объекта, тип и значение которого определяются формирующим его выражением; объект сохраняется до тех пор, пока исключение не будет обработано;

• в поисках подходящего обработчика раскручивают стек;

• передают объект исключения и управление программой непосредственно за блок контроля (за закрывающую фигурную скобку) обработчику, имеющему параметр, совместимый по типу с этим объектом;

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

· обработчик похож на функцию с одним параметром, не возвращающую значения:

catch ( спецификация_исключения )

{ операторы_обработки_исключения },

спецификация может иметь одну из трех форм:

тип_исключения имя

тип_исключения

многоточие

· посланное из блока контроля исключение ловится соответствующим ему обработчиком и после выполнения его операторов управление передается за последний обработчик;





Дата публикования: 2014-11-28; Прочитано: 151 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...