异常Termination 宏

指示终止处理程序 的__try 块是否正常终止。 只能从终止处理程序 的__finally 块内调用该函数。

注意

Microsoft C/C++ 优化编译器将此函数解释为关键字,并且它在适当的异常处理语法之外使用会生成编译器错误。

语法

BOOL AbnormalTermination(void);

parameters

此宏没有参数。

返回值

如果 __try 块异常终止,则返回值为非零。

如果 __try 块正常终止,则返回值为零。

备注

只有当执行在块中执行最后一个语句后, __try 块才会正常终止。 返回goto继续中断) 导致执行离开__try块会导致块异常终止的语句 (。 即使此类语句是 __try 块中的最后一个语句,也是如此。

__try块的异常终止会导致系统向后搜索所有堆栈帧,以确定是否必须调用任何终止处理程序。 这可能会导致执行数百条指令,因此请务必避免由于返回gotocontinuebreak 语句导致__try块异常终止。 请注意,即使终止异常,这些语句也不会生成异常。

为了避免异常终止,执行应继续到块的末尾。 还可以执行 __leave 语句。 __leave语句允许立即终止__try块,而不会造成异常终止及其性能处罚。 检查编译器文档以确定是否支持 __leave 语句。

要求

要求 “值”
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]

另请参阅

结构化异常处理函数

结构化异常处理概述