Freigeben über


CExceptions-Klasse

Die Basisklasse für alle Ausnahmen in Microsoft Foundation Class-Bibliothek.

class AFX_NOVTABLE CException : public CObject

Mitglieder

yx1b5f5w.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CException::CException

Erstellt ein CException-Objekt.

yx1b5f5w.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CException::Delete

Löscht ein Objekt CException.

CException::ReportError

Gibt eine Fehlermeldung in einem Meldungsfeld den Benutzer.

Hinweise

Da CException eine abstrakte Basisklasse ist, können Sie CException-Objekte nicht direkt erstellen; Sie müssen Objekte aus abgeleiteten Klassen erstellen.Wenn Sie eine eigene Klasse im CException erstellen müssen, verwenden Sie eine der abgeleiteten Klassen, die oben als Modell aufgeführt sind.Überprüfen Sie, ob die abgeleitete Klasse auch IMPLEMENT_DYNAMIC verwendet.

Die abgeleiteten Klassen und ihre Beschreibungen sind nachfolgend aufgeführt:

CSimpleException

Eine Basisklasse für Ressource-wichtige MFC-Ausnahmen

CInvalidArgException

Ungültige ArgumentAusnahmebedingung

CMemoryException

Ausnahme aufgrund ungenügenden Arbeitsspeichers

CNotSupportedException

Anforderung für einen nicht unterstützten Vorgang

CArchiveException

Archiv-Besondere Ausnahme

CFileException

Datei-Besondere Ausnahme

CResourceException

Windows-Ressource nicht gefunden oder nicht erstellbar

COleException

OLE-Ausnahme

CDBException

Datenbankausnahme (das heißt, Ausnahmebedingungen, die für MFC-Datenbankklassen auf Grundlage Open Database Connectivity) auftreten

COleDispatchException

Ausnahme OLE-Dispatchs (Automatisierung)

CUserException

Ausnahme, die angibt, dass eine Ressource nicht gefunden werden kann

CDaoException

Datenzugriffsobjektausnahme (das heißt, Ausnahmebedingungen, die für DAO-Klassen auftreten)

CInternetException

Internet-Ausnahme (das heißt, Ausnahmebedingungen, die für Internetklassen) auftreten.

Diese Ausnahmen werden vorgesehen, mit den THROW, THROW_LAST, TRY, ERFASSUNG, AND_CATCH und END_CATCH-Makros verwendet werden.Weitere Informationen zu Ausnahmen, finden Sie unter Ausnahme-Verarbeiten oder finden Sie im Artikel Ausnahmebehandlung (MFC).

Um eine bestimmte Ausnahme abzufangen, verwenden Sie die entsprechende abgeleitete Klasse.Um alle Typen Ausnahmen abzufangen, verwenden Sie CException und verwenden Sie dann CObject::IsKindOf mit CException zu unterscheiden von abgeleitete Klassen.Beachten Sie, dass CObject::IsKindOf funktioniert nur für die Klassen, die mit dem IMPLEMENT_DYNAMIC-Makro deklariert werden, um dynamische Typüberprüfung zu nutzen.Alle CException von abgeleitete Klasse, die Sie erstellen, sollte auch das IMPLEMENT_DYNAMIC-Makro verwenden.

Sie können Details zu Ausnahmen den Benutzer melden, indem Sie GetErrorMessage oder ReportError, zwei Memberfunktionen bereit aufrufen, die mit allen abgeleiteten Klassen von CException funktionieren.

Wenn eine Ausnahme durch eines der Makros abgefangen wird, wird das Objekt CException automatisch gelöscht; löschen Sie es sich nicht.Wenn eine Ausnahme abgefangen wird, indem ein catch-Schlüsselwort verwendet, wird sie nicht automatisch gelöscht.Weitere Informationen finden Sie im Artikel Ausnahmebehandlung (MFC) weitere Informationen dazu, wann ein exeption Objekt gelöscht werden.

Vererbungshierarchie

CObject

CException

Anforderungen

Header: afx.h

Siehe auch

Referenz

CObject-Klasse

Hierarchien-Diagramm

Weitere Ressourcen

Ausnahme-Verarbeiten

Wie behebe ich: Erstellen Sie die eigenen benutzerdefinierten Ausnahme-Klassen?