CException

CException ist die Basisklasse für alle Ausnahmen in der Microsoft Foundation Class-Bibliothek. Die abgeleiteten Klassen und ihre Beschreibungen sind unten aufgeführt.:

CMemoryException Out-of-Memory-Ausnahme
CNotSupportedException Anfrage für einen nichtunterstützten Vorgang
CArchiveException Archiv-spezifische Ausnahme
CFileException Datei-spezifische Ausnahme
CResourceException Windows-Ressource nicht gefunden oder nicht erstellbar
COleException OLE Ausnahme
CDBException Date&nbank-Exceptionnbsp; (d. h. Datenbank Ausnahmebedingungen für MFC-Klassen basierend auf Open Database Connectivity)
COleDispatchException OLE Versand (Automatisierung) Ausnahme
CUserException Ausnahme, die angibt, dass eine Ressource nicht gefunden werden konnte
CDaoException Daten Objekt Zugriffsausnahme (d. h. Ausnahmebedingungen für DAO-Klassen)
CInternetException Internet-Ausnahme (d. h. Ausnahmebedingungen für Internet-Klassen).

Diese Ausnahmen sind mit der werfen, THROW_LAST, versuchen, zu fangen, AND_CATCHund END_CATCH Makros verwendet werden soll. Weitere Informationen zu Ausnahmen finden Sie unter Exception Processing, oder finden Sie im Artikel Ausnahmen im Visual C++ Programmer's Guide.

Verwenden Sie eine bestimmte Ausnahme abzufangen, der entsprechenden abgeleiteten Klasse. Für alle Arten von Ausnahmen, CException, und anschließend mit CObject::IsKindOf unter CExceptionunterscheiden-abgeleiteten Klassen. Beachten Sie, dass CObject::IsKindOf nur für Klassen deklariert mit dem IMPLEMENT_DYNAMIC -Makro, um dynamische Typüberprüfung nutzen funktioniert. Alle CException-abgeleitete Klasse, die Sie erstellen, sollte das IMPLEMENT_DYNAMIC -Makro zu verwenden.

Sie können Informationen über Ausnahmen an den Benutzer melden, durch Aufrufen von GetErrorMessage oder ReportError, zwei Memberfunktionen, die mit CExceptionabgeleiteten Klassen arbeiten.

Wenn eine Ausnahme von einem der Makros abgefangen wird, wird das Objekt CException automatisch gelöscht; Löschen Sie nicht es selbst. Wenn eine Ausnahme durch ein Schlüsselwort catch abgefangen wird, wird es nicht automatisch gelöscht. Finden Sie im Artikel von Ausnahmen in Visual C++ Programmer's Guide für weitere Informationen darüber, wann ein Blamage-Objekt löschen.

CException ist eine abstrakte Basisklasse. Sie können keine CException -Objekte erstellen; Sie müssen Objekte der abgeleiteten Klassen erstellen. Benötigen Sie einen eigenen Typ CException erstellen, verwenden Sie eine der oben aufgeführten als Modell abgeleiteten Klassen. Stellen Sie sicher, dass Ihre abgeleitete Klasse, auch IMPLEMENT_DYNAMIC verwendet.

# include lt;afx.h>

Klassenmember |nbsp; Basisklasse | Hierarchiediagramm

Beispiel&Nbsp; TEAR MFC-Beispiel

Siehe auch&Nbsp;Exception-Verarbeitung

Index