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; }
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
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
oli83 Geschrieben 21. Januar 2005 Autor Geschrieben 21. Januar 2005 Vielen Dank für die schnelle Hilfe.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden