Здравствуйте, al777, Вы писали:
A>Здравствуйте, LaptevVV, Вы писали:
LVV>>Это не обрабатывается стандартными операторами С++, а расширениями Студии.
LVV>>try+except и try+finally
LVV>>Подробно описано у Рихтера.
A>Наверное, так и есть, но почему catch(...) срабатывает!?
A>(Понимаю что вопрос дурацкий...)
1. В 10-й студии сделал такой пример:
#include <iostream>
int main()
{
try{ int a = 1, b = 0;
b = a/b;
}
catch(...)
{
std::cout << "Yes!" << std::endl;
}
system("pause");
return 0;
}
В дебаге, естественно ловится деление на ноль. Но не catch-ем, а отладчиком — деление на ноль.
В релизе при запуске в среде в режиме без отладки вообще ничего не ловится.
Еще проставьте запрет расширений С++ в студии.