Fehlermeldung von CArchive abfangen funktioniert nicht
-
moin, in meinem Programm wird die unten stehende methode aus der OnInit meines dialoges aufgerufen, wenn die Datei nicht existiert, wird korrekt FALSE zurückgeliefert. wenn die datei jedoch fehler enthält, also zum beispiel weniger stellen enthällt, dann bekomme ich eine Fehlermeldung und die Ausführung wird abgebrochen.
Ich möchte jedoch meine eigene Fehlermeldung ausgeben und das Programm danach beenden, wenn Fehler aufgetreten sind, da ohne das erfolgreiche laden der mein Programm nicht ordnungsgemäs ausgeführt werden kann und beeim nächsten funktionsaufruf abstürtzt.das fertige Programm gibs hier zum Downloaden:http://sn.from-hell.net/Schnellzugriff.zip
BOOL CDaten::Laden(CString sDatei) { try { CFile file(sDatei,CFile::modeRead); CArchive ar(&file,CArchive::load); ar >> m_bPos >> m_bVordergrund >> m_bDatum; } catch( CFileException* e ) { delete e; return FALSE; } return TRUE; }
-
Hallo,
wenn du dir die Dokumentation zum >>-Operator der CArchive-Klasse ansiehst:
kannst du erkennen, auf welche Exceptions dein Code (noch) vorbereitet sein muß.
MfG
-
war auf der seite schon, hatte aber nur bahnhof verstanden. mir ist aber die erleuchtung gekommen. habe jetzt 2 catch-blöcke, einen für CFileException, einen für CArchiveException. wusste bisher auch garnicht, das man mehrere catchblöcke machen kann
