UnhandledExceptionFilter 函数 (errhandlingapi.h)

应用程序定义的函数,它将未经处理的异常传递给调试器(如果正在调试进程)。 否则,它会选择显示 应用程序错误消息 框,并导致执行异常处理程序。 只能从异常处理程序的筛选器表达式内调用此函数。

语法

LONG UnhandledExceptionFilter(
  [in] _EXCEPTION_POINTERS *ExceptionInfo
);

参数

[in] ExceptionInfo

指向 EXCEPTION_POINTERS 结构的指针,该结构指定异常和异常时处理器上下文的说明。 此指针是调用 GetExceptionInformation 函数的返回值。

返回值

函数返回以下值之一。

返回代码/值 说明
EXCEPTION_CONTINUE_SEARCH
0x0
正在调试进程,因此应将异常 (作为第二次机会) 传递到应用程序的调试器。
EXCEPTION_EXECUTE_HANDLER
0x1
如果在上一次对 SetErrorMode 的调用中指定了SEM_NOGPFAULTERRORBOX标志,则不会显示“应用程序错误消息”框。 函数将控件返回到异常处理程序,该处理程序可以自由执行任何适当的操作。

备注

如果未调试进程,函数将显示应用程序 错误消息 框,具体取决于当前错误模式。 默认行为是显示对话框,但这可以通过在对 SetErrorMode 函数的调用中指定SEM_NOGPFAULTERRORBOX来禁用。

系统在内部使用 UnhandledExceptionFilter 来处理进程和线程创建过程中发生的异常。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 errhandlingapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

EXCEPTION_POINTERS

GetExceptionInformation

SetErrorMode

SetUnhandledExceptionFilter

结构化异常处理函数

结构化异常处理概述