UnhandledExceptionFilter function (errhandlingapi.h)
An application-defined function that passes unhandled exceptions to the debugger, if the process is being debugged. Otherwise, it optionally displays an Application Error message box and causes the exception handler to be executed. This function can be called only from within the filter expression of an exception handler.
Syntax
LONG UnhandledExceptionFilter(
[in] _EXCEPTION_POINTERS *ExceptionInfo
);
Parameters
[in] ExceptionInfo
A pointer to an EXCEPTION_POINTERS structure that specifies a description of the exception and the processor context at the time of the exception. This pointer is the return value of a call to the GetExceptionInformation function.
Return value
The function returns one of the following values.
Return code/value | Description |
---|---|
|
The process is being debugged, so the exception should be passed (as second chance) to the application's debugger. |
|
If the SEM_NOGPFAULTERRORBOX flag was specified in a previous call to SetErrorMode, no Application Error message box is displayed. The function returns control to the exception handler, which is free to take any appropriate action. |
Remarks
If the process is not being debugged, the function displays an Application Error message box, depending on the current error mode. The default behavior is to display the dialog box, but this can be disabled by specifying SEM_NOGPFAULTERRORBOX in a call to the SetErrorMode function.
The system uses UnhandledExceptionFilter internally to handle exceptions that occur during process and thread creation.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | errhandlingapi.h (include Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |