Ausnahmen: Untersuchungsausnahme-Inhalt
Obwohl das Argument eines catch-Blocks von nahezu beliebigen Datentyp haben kann, wird durch die MFC-Funktionen Ausnahmen von den Typen aus, die von der Klasse CException abgeleitet sind.Um eine Ausnahme abzufangen, die von einer MFC-Funktion dann ausgelöst wird catch schreiben Sie einen Block dessen Argument ein Zeiger auf ein CException-Objekt ist (oder auf ein Objekt abgeleitet von CException, wie CMemoryException).Je nach genauen Ausnahmetyp, können Sie die Datenmember des Ausnahmeobjekts zum Erfassen von Informationen über die spezifische Ursache der Ausnahme überprüfen.
Beispielsweise verfügt der den Typ CFileExceptionm_cause Datenmember, der einen Enumerationstyp enthält, in der die Ursache der Datei ausnahme angibt.Einige Beispiele für die möglichen Rückgabewerte sind CFileException::fileNotFound und CFileException::readOnly.
Im folgenden Beispiel wird gezeigt, wie der Inhalt einer CFileException überprüft.Andere Ausnahmetypen können auf ähnliche Weise überprüft werden.
try
{
CFile file(_T("\\this_file_should_not_exist.dat"), CFile::modeRead);
}
catch( CFileException* theException )
{
if( theException->m_cause == CFileException::fileNotFound )
TRACE( "File not found\n" );
theException->Delete();
}
Weitere Informationen finden Sie unter Ausnahmen: Objekte in den Ausnahmen aufweisen und Ausnahmen: Ausnahmen abfangen und Löschen.