Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CResourceException


Автор: serg405 7.8.2009, 18:22
http://forum.vingrad.ru/topic-268898/kw-cdc-cpaintdc-hdc-getdc/view-findpost/p-1938237.html

Никак не могу поймать этот злощасный ексепшн. Я эво вижу только в оутпуте в студии вот что мне показивает.
Цитата

Warning: no message line prompt for ID 0x8057.
Warning: no message line prompt for ID 0x805A.
Warning: no message line prompt for ID 0x8035.
First-chance exception at 0x7c812afb in SSYS Trader.exe: Microsoft C++ exception: CResourceException at memory location 0x0012c77c..
Warning: Uncaught exception in WindowProc (returning 0).


вопрос где ловить этот ексепшн?
И второй поймаю ли я этот екскпшын таким кодом?
Код

try{//code}
catch(CresourceException &e)
{
  e.ReportError();
}


Или нужно использовать __try. Кстати может кто раскажет в чем разница и где какой лучше использовать.

Автор: Earnest 10.8.2009, 08:34
MFC-исключения обычно возбуждаются по указателю. Т.е. ловить надо так: catch (CResourseException* pe), а внутри блока полагается вызвать pew->Delete().
Поймать должен, если оно действительно возбуждается, и если его никто не перехватывает до тебя. Но задача состоит не в том, чтобы его поймать, а в том, чтобы не допустить. Т.е. найти причину, по которой это исключение появляется. А когда оно появилось, уже поздно, только закрываться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)