его также можно сохранить в у

Автор admin Понедельник, 4 мая 2009 11:32

его также можно сохранить в указателе на функцию и восстановить позднее, как это было сделано в примере set_terminate() ранее в этой главе. Типичный обработчик unexpected сохраняет информацию об ошибке и завершает программу вызовом exit(). Впрочем, он также может запустить другое (или перезапустить текущее) исключение, либо вызвать функцию abort(). Если обработчик запустит исключение типа, входящего в спецификацию, то дальнейший поиск продолжается с точки вызова функции с данной спецификацией исключений (такое поведение характерно только для unexpected()). Если исключение, запущенное из обработчика unexpected, недопустимо по исходной спецификации, возможен один из двух вариантов действий. • Если в спецификации исключений функции присутствует объект std::bad_ex-ception, то исключение, запущенное из обработчика unexpected, заменяется объектом std::bad_exception, после чего поиск продолжается. • Если в исходной спецификации нет объекта std::bad_exception, вызывается функция terminate(). Следующая программа поясняет сказанное: //: С01:BadException.срр {-bor} #include // Для std::bad_excepti


Комментарии закрыты.