oli83 Geschrieben 21. Januar 2005 Geschrieben 21. Januar 2005 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; } Zitieren
kills Geschrieben 21. Januar 2005 Geschrieben 21. Januar 2005 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 Zitieren
Klotzkopp Geschrieben 21. Januar 2005 Geschrieben 21. Januar 2005 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 Zitieren
oli83 Geschrieben 21. Januar 2005 Autor Geschrieben 21. Januar 2005 Vielen Dank für die schnelle Hilfe. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.