Вопрос № 21822: Уважаемые эксперты, у меня имеется приложение Windows, которое запускает процедуру в сформированом thread`е. В ходе работы возникает исключение с сылкой на обращение к несущуствующему блоку памяти. Я установил обработчик на исключение try {}, catch (...
Вопрос № 21.822
Уважаемые эксперты, у меня имеется приложение Windows, которое запускает процедуру в сформированом thread`е. В ходе работы возникает исключение с сылкой на обращение к несущуствующему блоку памяти. Я установил обработчик на исключение try {}, catch (CException &exception). Однако все равно стандартное окно с ошибкой возникает. Существует ли возможность в Microsoft VC++, при компиляции установить ключ, либо другая стандартная процедура за исключением конструкции try {}, catch (CException &exception) , что при
возникновении необработанного исключения завершать работу программы без выдачи окна с сообщением об ошибке с предоставлением возможности запустить отладчик.
Отправлен: 06.06.2005, 09:15
Вопрос задал: Воробьев Дмитрий Владимирович (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: Jadd
Здравствуйте, Воробьев Дмитрий Владимирович!
Дык посмотрите обработку исключительных случаев. Если процедура не вызывает эту ошибку, то и поймать ее сложно будет. А то, что асертается на нулевом поинтере, так нужно проверять корректность работы с указателями. Для отлова всех без исключения ошибок, поставьте в скобках мнготочие, т.е. блок должен выглядеть так: catch(...). Но, учтите, что попытка работы с неинициализированными указателями может "уложить" программу.
--------- Hakuna matata
Ответ отправил: Jadd (статус: 8-ой класс)
Отправлен: 06.06.2005, 10:01