Re[2]: Исключения(exception) и вызов деструкторов
От: Алекс Россия http://wise-orm.com
Дата: 02.08.02 08:50
Оценка:
Здравствуйте DarkGray, Вы писали:

DG>Здравствуйте Аноним, Вы писали:


А>>В этом варианте при возникновение исключения вызывается деструктор статического класса, но если я убираю строку "cout <<"XZ\n"<<endl;" (в ф-ии f1() ), то вызова этого деструктора не вижу.


DG>Насколько я понимаю работу исключений в VC6, это связано с тем, что если компилятор не видит генерации C++-исключений, то он и не создает код, который отвечает за размотку стека при исключениях.


DG>Когда ты добавляешь вызов cout << "XZ", то компилятор видит, что в данном блоке может возникнуть C++-исключение, поэтому надо сгенерировать код "размотки".


DG>P.S. Деление на ноль — это не C++-исключение, это "машинное" исключение, которое для программы и компилятора является полной неожиданностью в run-time, а на этапе компиляции его не видно.


на сколько я помню это называется синхронной обработкой исключений при асинхронной все иначе.
регулируется это дело опциями /Eh
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.