@sitev_ru
sitev.ru - мой блог ...

Обработка try catch. Что делаю не так?

Не могу поймать exception и соответственно, дебажить программу на C++...

try {
		int a = 1, b = 0;
		int c = a / b; // в данном случае имитирую exception для примера
	}
	catch (...) {
		int a = 1;
	}


Раньше я в catch ставил точку останова и мог отлавливать exception. Почему то сейчас не получается. Возможно, дело в настройках IDE? Использую Visual Studio 2013
  • Вопрос задан
  • 382 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Xano
деление на 0 - не исключение, а ошибка уровня железа. Перехватить нельзя, можно обработать можно путем подключения заголовочного файла csignal и заданием обработчика для SIGFPE.
Конкретно в студии, возможно, есть свой велосипед для перехвата подобных ошибок и преобразования в исключение, но где настроить - не подскажу, возможно, стоит покопаться в Debug->Exceptions
Ответ написан
@Caitiff_One
Обычный человек, начинающий разработчик:)
А тот ли тип exception ловите?
Ответ написан
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Возможно, оптимизатор выкинул код, который ничего не делает.

напишите в обработчик исключение что-то с побочным эффектом, в роде cout << "FAULT!" << endl;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы