Try..catch - Unterschied MSVC 2002/2008
-
Hallo,
ich habe ein älteres Projekt von Visual Studio 2002 auf 2008 konvertiert. In 2008 stürzt mir das Programm nun mit einer unbehandelten Exception innerhalb eines try..catch-Blocks ab.
try { ((Obj*)NULL)->func(); // Null-Pointer-Zugriff, somit Exception } catch(...) { tuwas(); }
Ich habe es mit dem Beispiel oben probiert (nur eben mit echten Funktionen des Projekts. Einen Breakpoint in dem catch-Teil erreiche ich nicht und der Zugriff auf NULL erzeugt eben wie gesagt eine unbehandelte Ausnahme.
Jemand eine Idee, woran das liegen könnte?
MfG
Holger
-
Wenn Du die "Exception-Handling" in VS2002 nicht *explizit* gesetzt hast (sondern "Inherit"), so wird in VS2008 das neue "Default" Exception-Handling_model "/EHsc" gesetzt, was *nur* noch C++-Exceptions abfängt.
Du musst es wieder umstellen nach "/EHa"! Was Default bis 2003 war!
-
Danke! Das hat das Problem gelöst.
MfG
Holger