Поделиться через


Исключения (C/C++)

Обновлен: Ноябрь 2007

При возникновении ошибок могут создаваться два кода исключения:

  • Для ошибок LoadLibrary;

  • Для ошибок GetProcAddress.

Вот сведения об исключениях:

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

Коды создаваемых исключений — это стандартные значения VcppException(ERROR_SEVERITY_ERROR, ERROR_MOD_NOT_FOUND) и VcppException(ERROR_SEVERITY_ERROR, ERROR_PROC_NOT_FOUND). Исключение содержит указатель на структуру DelayLoadInfo в значении типа LPDWORD, которое может быть считано с помощью функции GetExceptionInformation в структуре EXCEPTION_RECORD в поле ExceptionInformation[0].

Помимо этого, если в поле grAttrs установлены неправильные биты, то возникает исключение ERROR_INVALID_PARAMETER. Это исключение во всех случаях является неустранимым.

Дополнительные сведения см. в разделе Определения структур и констант.

См. также

Основные понятия

Обработка ошибок и предупреждений