Ausnahmeverarbeitung

Wenn ein Programm ausgeführt wird, treten eine Reihe von anormalen Bedingungen und Fehler als "Ausnahmen" bezeichnet. Dazu gehören Engpässe in Speicher und Ressource Zuordnungsfehler Fehler nach Dateien suchen.

Die Microsoft Foundation Class-Bibliothek verwendet eine Ausnahmebehandlung-Schema, das der eine für C++ vom ANSI Standards Committee vorgeschlagen eng nachempfunden ist. Ein Ausnahmehandler muss eingerichtet werden, bevor der Aufruf einer Funktion, die eine abnorme Situation auftreten kann. Wenn die Funktion eine abnorme Bedingung auftritt, löst es eine Ausnahme und Steuerelement an den Ausnahmehandler übergeben wird.

Ausnahmehandler werden mehrere Makros enthalten mit der Microsoft Foundation Class Library einrichten. Eine Anzahl von anderen globalen Funktionen helfen, spezielle Ausnahmen auslösen und Beenden von Programmen, wenn nötig. Diese Makros und globale Funktionen fallen in die folgenden Kategorien:

Beispiele und weitere Informationen finden Sie im Artikel Ausnahmen im Visual C++ Programmer's Guide.

Ausnahmemakros

VERSUCHEN Kennzeichnet einen Codeblock für die Ausnahmeverarbeitung.
FANGEN Kennzeichnet einen Block von Code zum Abfangen einer Ausnahme aus den vorangehenden TRY -Block.
CATCH_ALL Kennzeichnet einen Codeblock für alle Ausnahmen von der vorhergehenden TRY -Block.
AND_CATCH Kennzeichnet einen Codeblock für den Fang von zusätzliche Ausnahmetypen aus dem vorherigen Block versuchen.
AND_CATCH_ALL Kennzeichnet einen Codeblock für den Fang von allen anderen zusätzliche Ausnahmetypen in einem vorhergehenden TRY -Block ausgelöst.
END_CATCH Endet den letzten Codeblock fangen oder AND_CATCH.
END_CATCH_ALL Den letzten CATCH_ALL -Codeblock endet.
WERFEN Eine angegebene Ausnahme.
THROW_LAST Löst die gegenwärtig behandelte Ausnahme an dem nächsten äußeren handler.

Ausnahme auslösen Funktionen

AfxThrowArchiveException Löst eine Ausnahme aus Archiv.
AfxThrowFileException Löst eine Ausnahme Datei.
AfxThrowMemoryException Löst eine Ausnahme wegen unzureichenden Arbeitsspeichers.
AfxThrowNotSupportedException Wird eine nicht unterstützte Ausnahme ausgelöst.
AfxThrowResourceException Ausnahme eine Windows-Ressource nicht gefunden.
AfxThrowUserException Löst eine Ausnahme in einer Benutzer initiierte Programm-Aktion.

MFC stellt zwei Ausnahme-werfen Funktionen speziell für OLE-Ausnahmen:

OLE-Funktionen-Ausnahme

AfxThrowOleDispatchException Löst eine Ausnahme innerhalb einer OLE-Automatisierung-Funktion.
AfxThrowOleException Eine OLE-Ausnahme.

Um Datenbankausnahmen zu unterstützen, bieten die Datenbankklassen zwei Ausnahmeklassen, CDBException CDaoExceptionund globale Funktionen die Ausnahmetypen unterstützen:

DAO-Ausnahme-Funktionen

AfxThrowDAOException Löst ein CDaoException aus Ihrem eigenen code.
AfxThrowDBException Löst eine CDBException aus Ihrem eigenen code.

MFC stellt die folgenden Beendigung-Funktion:

Terminierungsfunktionen

AfxAbort Aufgerufen Auftritt zum Beenden einer Anwendungs, wenn ein schwerwiegender Fehler.

Siehe auch&Nbsp;CException

Index