бе стороны (запускающая и пере
Автор admin Вторник, 5 мая 2009 11:32
бе стороны (запускающая и перехватывающая) должны 58 Глава 1 • Обработка исключений согласовать процедуры выделения и освобождения памяти. Это может вызвать проблемы, поскольку само исключение могло произойти из-за нехватки свободной памяти в куче. При запуске объектов-исключений система обработки исключений берет все хлопоты с памятью на себя. Запуск исключений в конструкторах Так как конструктор не имеет возвращаемого значения, раньше об ошибках конструирования можно было сообщить двумя способами: • установить нелокальный флаг и надеяться, что пользователь проверит его; • вернуть частично созданный объект и надеяться, что пользователь проверит его. Возникает серьезная проблема: программисты С склонны полагать, что объекты всегда создаются успешно. В С такие ожидания вполне оправданны благодаря примитивности типов. Но дальнейшее выполнение после неудачного конструирования в С++ кончится катастрофой, поэтому конструкторы являются одним из основных кандидатов на запуск исключений — в вашем распоряжении появляется надежный, эффективный способ обработки ошибок конструирования. Однако при этом необходимо с
Комментарии закрыты.
Последние комментарии