Консультация № 21822
06.06.2005, 09:15
0.00 руб.
0 1 1
Уважаемые эксперты, у меня имеется приложение Windows, которое запускает процедуру в сформированом thread`е. В ходе работы возникает исключение с сылкой на обращение к несущуствующему блоку памяти. Я установил обработчик на исключение try {}, catch (CException &exception). Однако все равно стандартное окно с ошибкой возникает. Существует ли возможность в Microsoft VC++, при компиляции установить ключ, либо другая стандартная процедура за исключением конструкции try {}, catch (CException &exception) , что при возникновении необработанного исключения завершать работу программы без выдачи окна с сообщением об ошибке с предоставлением возможности запустить отладчик.

Обсуждение

Неизвестный
06.06.2005, 10:01
общий
это ответ
Здравствуйте, Воробьев Дмитрий Владимирович!
Дык посмотрите обработку исключительных случаев. Если процедура не вызывает эту ошибку, то и поймать ее сложно будет. А то, что асертается на нулевом поинтере, так нужно проверять корректность работы с указателями. Для отлова всех без исключения ошибок, поставьте в скобках мнготочие, т.е. блок должен выглядеть так: catch(...). Но, учтите, что попытка работы с неинициализированными указателями может "уложить" программу.
Форма ответа