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.
| 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. |
| 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:
| AfxAbort | Aufgerufen Auftritt zum Beenden einer Anwendungs, wenn ein schwerwiegender Fehler. |
Siehe auch&Nbsp;CException