Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Когда с помощью выражения в операторе throw генерируется (формируется) специальный объект, называемый исключением, функции исполнительной библиотеки C++ выполняют следующие действия:
• создают копию параметра throw в виде временного статического объекта, тип и значение которого определяются формирующим его выражением; объект сохраняется до тех пор, пока исключение не будет обработано;
• в поисках подходящего обработчика раскручивают стек;
• передают объект исключения и управление программой непосредственно за блок контроля (за закрывающую фигурную скобку) обработчику, имеющему параметр, совместимый по типу с этим объектом;
· за блоком контроля обязательно размещается ловушка (или обработчик) исключений; исключения могут посылаться из разных мест блока контроля, они могут быть одного или разных типов; если за блоком контроля размещены несколько ловушек, то они должны отличаться типами принимаемых исключений;
· обработчик похож на функцию с одним параметром, не возвращающую значения:
catch ( спецификация_исключения )
{ операторы_обработки_исключения },
спецификация может иметь одну из трех форм:
тип_исключения имя
тип_исключения
многоточие
· посланное из блока контроля исключение ловится соответствующим ему обработчиком и после выполнения его операторов управление передается за последний обработчик;
Дата публикования: 2014-11-28; Прочитано: 151 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!