set_terminate (crt)

安装拥有 terminate将调用停止实例。

terminate_function set_terminate(
   terminate_function termFunction
);

参数

  • termFunction
    停止对该函数的指针您编写。

返回值

返回指向 set_terminate 注册的前面的功能,以便以后可以恢复前面的功能。如果以前功能未设置,则返回值可用于还原默认行为;此值可能为空。

备注

set_terminate 功能内置 termFunction 作为 terminate调用的函数。,在引发异常之前,set_terminate 程序中使用 C++ 异常处理并可以随时调用。默认情况下terminate 调用 abort 。您可以通过编写拥有终止函数和调用与函数的名称 set_terminate 更改此默认值作为其参数。terminate 调用最后一个函数是作为参数 set_terminate。在执行任何所需的清理任务后, termFunction 应该退出程序。如果不退出 (如果该回调用方), abort 调用。

在一个多线程环境中,请停止函数为每线程分别进行维护。每个新线程需要安装自己终止函数。因此,每个线程都是负责自己终止进程。

terminate_function 类型在 EH.H 为返回 void的用户定义的终止函数的指针, termFunction 定义。该自定义功能 termFunction 不接受参数,不应返回到其调用方。如果它, abort 调用。异常不可能会引发从 termFunction的内部。

typedef void ( *terminate_function )( );
说明说明

set_terminate 功能在调试器外部只有。

具有全部动态链接到的 DLL 或 EXE 的单个 set_terminate 处理程序;即使您调用 set_terminate 处理程序可以将另一个替换,或者可以替换另一个 DLL 或 EXE 设置的处理程序。

不支持此功能在 /clr:pure下。

要求

实例

必需的头

set_terminate

eh.h

有关其他的兼容性信息,请参见中介绍的 兼容性

示例

停止参见示例。

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

异常处理实例

abort

_get_terminate

set_unexpected (crt)

terminate (CRT)

unexpected (CRT)