Freigeben über


Ausnahmen (C/C++)

Es gibt zwei Ausnahmecodes, die beim Auftreten von Fehlern ausgelöst werden können:

  • ein Ausnahmecode für einen LoadLibrary-Fehler.

  • ein Ausnahmecode für einen GetProcAddress-Fehler.

Die Ausnahmeinformationen sehen wie folgt aus:

//
// Exception information
//
#define FACILITY_VISUALCPP  ((LONG)0x6d)
#define VcppException(sev,err)  ((sev) | (FACILITY_VISUALCPP<<16) | err)

Bei den ausgelösten Ausnahmecodes handelt es sich um die Standardwerte VcppException(ERROR_SEVERITY_ERROR, ERROR_MOD_NOT_FOUND) und VcppException(ERROR_SEVERITY_ERROR, ERROR_PROC_NOT_FOUND).Von der Ausnahme wird ein Zeiger auf eine DelayLoadInfo-Struktur im LPDWORD-Wert übergeben. Dieser Wert kann von GetExceptionInformation im Feld ExceptionInformation[0] der EXCEPTION_RECORD-Struktur abgerufen werden.

Wenn die falschen Bits im grAttrs-Feld festgelegt sind, wird zusätzlich die ERROR_INVALID_PARAMETER-Ausnahme ausgelöst.Diese Ausnahme ist in jedem Fall schwerwiegend.

Weitere Informationen finden Sie unter Struktur- und Konstantendefinitionen.

Siehe auch

Konzepte

Fehlerbehandlung und Benachrichtigung