Share via


Ausnahme-Verarbeiten

Wenn ein Programm ausgeführt wird, können einige nicht ordnungsgemäßen Bedingungen und Fehler, die "Ausnahmen" aufgerufen werden, dienen.Hierzu zählen Fehler möglicherweise Ressourcenzuordnungs, das Ausführen von ungenügendem Arbeitsspeicher und Wenn ein, um Dateien zu suchen.

Microsoft Foundation Class Library verwendet ein Schema für die Ausnahmebehandlung nach dem Schließen, das modelliert wird, das vom ANSI-Normungsausschuss für C++ empfohlen wird.Ein Ausnahmehandler eingerichtet sein muss, bevor eine Funktion aufrufen, die möglicherweise eine nicht ordnungsgemäßen Situation auftritt.Wenn die Funktion eine nicht ordnungsgemäßen Zustand trifft, wird eine Ausnahme ausgelöst, und die Steuerung wird an den Ausnahmehandler übergeben.

Einige Makros, die mit Microsoft Foundation Class Library enthalten sind, Ausnahmehandler installieren.Einige andere globale Funktionen können spezielle Ausnahmen auszulösen und Programme zu beenden, ggf. an.Diese Makros und globale Funktionen werden in die folgenden Kategorien:

  • Ausnahme von Makros, die Struktur der Ausnahmehandler.

  • Funktionen Ausnahme-auslösen, die Ausnahmen bestimmter Typen generieren.

  • Funktionen Kündigungs, die kündigung Programm auszulösen.

Weitere Informationen und Beispiele finden Sie im Artikel Ausnahmen.

Ausnahme-Makros

TRY

Legt einen Codeblock zum Verarbeiten Ausnahme fest.

CATCH

Legt einen Codeblock zum Abfangen einer Ausnahme aus dem vorherigen TRY-Block fest.

CATCH_ALL

Legt einen Codeblock zum Abfangen aller Ausnahmen aus dem vorherigen TRY-Block fest.

AND_CATCH

Legt einen Codeblock für anziehende zusätzliche Ausnahmetypen aus dem vorherigen TRY-Block fest.

AND_CATCH_ALL

Legt einen Codeblock zum Abfangen aller anderen zusätzlichen Ausnahmetypen fest, die in einem vorherigen TRY-Block ausgelöst werden.

END_CATCH

Beendet letzte CATCH oder den AND_CATCH Codeblock.

END_CATCH_ALL

Beendet den letzten CATCH_ALL Codeblock.

THROW

Löst eine Ausnahme aus.

THROW_LAST

Löst die gerade behandelte Ausnahme zum nächsten äußeren Handler aus.

Funktionen Ausnahme-Auslösen

AfxThrowArchiveException

Löst ein Archiv ausnahme aus.

AfxThrowFileException

Löst eine Dateiausnahme aus.

AfxThrowMemoryException

Löst eine ausnahme Arbeitsspeicher aus.

AfxThrowNotSupportedException

Löst eine NOT-unterstützte Ausnahme aus.

AfxThrowResourceException

Löst eine Windows Ressource-NOT-gesuchte Ausnahme aus.

AfxThrowUserException

Löst eine Ausnahme in eine benutzerinitiierte Aktion Programm aus.

MFC stellt zwei Ausnahme-auslösende Funktionen speziell für OLE-Ausnahmen bereit:

OLE-Ausnahme-Funktionen

AfxThrowOleDispatchException

Löst eine Ausnahme in einer OLE-Automatisierungs-Funktion aus.

AfxThrowOleException

Löst eine OLE-Ausnahme aus.

Um Ausnahmen Datenbank zu unterstützen, liefern die Datenbankklassen zwei Ausnahmeklassen, CDBException und CDaoException und globale Funktionen um die Ausnahmetypen zu unterstützen:

DAO-Ausnahme-Funktionen

AfxThrowDAOException

Löst CDaoException von Ihrem Code aus.

AfxThrowDBException

Löst CDBException von Ihrem Code aus.

MFC stellt die folgenden Kündigungs Funktion:

Kündigungs-Funktionen

AfxAbort

Wird aufgerufen, um eine Anwendung zu beenden, wenn ein schwer wiegender Fehler auftritt.

Siehe auch

Referenz

CException-Klasse

Konzepte

MFC-Makros und -globale Werte