лючение bad_alloc. Второй блок
Автор admin Вторник, 5 мая 2009 11:32
лючение bad_alloc. Второй блок try в данном случае не принципиален, поскольку копируются только числа int и указатели (так что исключений не будет), но при любом копировании 54 Глава 1 • Обработка исключений Библиотечная функция uncaught_exception() возвращает true в процессе раскрутки стека, так что теоретически можно сравнить uncaught_exception() с false и обработать возникшее исключение внутри деструктора. Тем не менее, мы еще не видели ни одной хорошей архитектуры, основанной на подобном решении, поэтому такая возможность упоминается лишь в сноске. объектов их операторы присваивания могут породить исключение, которое потребует освобождения выделенных ресурсов. Обратите внимание: в обоих обработчиках мы перезапускаем исключение. Это объясняется тем, что наши обработчики всего лишь выполняют необходимые операции по управлению ресурсами; пользователь все равно должен узнать о возникших проблемах, поэтому исключение передается дальше по динамической цепочке. Библиотеки, которые не ограничиваются молчаливым «поглощением» исключений, называются нейтральными по отношению к исключениям. Всегда стремитесь к
Комментарии закрыты.
Последние комментарии