Veröffentlicht 21. Januar 200520 j Wie kann ich unter C++ mit Hilfe des Exception-Handlings Zugriffe auf ungültige Adressen im Hauptspeicher abfangen?? Was muss ich catch übergeben, damit ich Exceptions uneterscheiden kann (z.B. Fehler bei Dateizugriff, fehlerhafte Eingaben durch den Benutzer)? Danke. #include <iostream> using namespace std; int main() { try { int a[5] = {0}; a[10] = 1; } catch( ??? ) { cout << "Array-Element existiert nicht"; } return 0; }
21. Januar 200520 j naja ich hab zwar nicht viel ahnung von C++ aber ich hätt halt ma im google versucht: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_The_try.2c_.catch.2c_.and_throw_Statements.asp
21. Januar 200520 j Solche Fehler werden nicht durch Exception Handling abgedeckt. Es erzeugt einfach undefiniertes Verhalten, auch wenn der Compiler von Microsoft Visual C++ es erlaubt, solche Fehler durch catch(...) zu fangen. Du wirst also auf betriebssystemspezifische Funktionen zurückgreifen müssen. Falls es um Windows geht, schau mal hier rein: http://forum.fachinformatiker.de/showthread.php?t=71953
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.