try~catch wird nicht ausgelöst?
-
Hallo zusammen.
Ich habe um einen Code-Teil ein try-catch 'gelegt'.
Trotzdem erhalte ich ständig eine Memory-Exception.An was liegt das?
try{ cout << WindowHandle << endl; WindowHandle = FindWindow(NULL, vData[DataIndex][Idx].c_str()); cout << vData[DataIndex][Idx] << " - " << WindowHandle << endl; } catch(...) { cout << "Whoops.. an exception caught.. something's wrong - don't worry!" << endl; }Gruess exc
-
Was da kommt sind Hardware-Exceptions, nicht C++-Exceptions, die kannst du nicht fangen. Du greifst auf Speicher, respektive vielleicht auch auf 0x00000000 zu, der deinem Programm aber nicht gehört. ---> Debuggen
-
Bist du sicher, dass du eine Memory-Exception bekommst und nicht eher dein Programm abstürzt wegen Memory-Corruption? Was soll überhaupt eine Memory-Exception sein? Wie lautet der Name dieser Exception? Wie lautet die Beschreibung? Wo tritt sie auf? Was wird an der Stelle gemacht, wo sie auftritt? Was sind dort für Datentypen in Verwendung? usw. usf.
Grüssli
-
Hat sich erledigt

Hab den Fehler glücklicherweise doch noch gefunden.Memory-Read exceptions kann man also nicht fangen?
grz
-
exc schrieb:
Memory-Read exceptions kann man also nicht fangen?
Was den C++ Standard betrifft, gibt es keine "Memory-Read exceptions". Wenn Dein Programm ungültige Zeiger dereferenziert, dann kann im Prinzip alles passieren und nichts wird garantiert (undefined behaviour). Vor allem muss keine Ausnahme im Sinne einer C++ Ausnahme fliegen, die man fangen kann.