异常Termination 宏
指示终止处理程序 的__try 块是否正常终止。 只能从终止处理程序 的__finally 块内调用该函数。
注意
Microsoft C/C++ 优化编译器将此函数解释为关键字,并且它在适当的异常处理语法之外使用会生成编译器错误。
语法
BOOL AbnormalTermination(void);
parameters
此宏没有参数。
返回值
如果 __try 块异常终止,则返回值为非零。
如果 __try 块正常终止,则返回值为零。
备注
只有当执行在块中执行最后一个语句后, __try 块才会正常终止。 返回、goto、继续或中断) 导致执行离开__try块会导致块异常终止的语句 (。 即使此类语句是 __try 块中的最后一个语句,也是如此。
__try块的异常终止会导致系统向后搜索所有堆栈帧,以确定是否必须调用任何终止处理程序。 这可能会导致执行数百条指令,因此请务必避免由于返回、goto、continue 或 break 语句导致__try块异常终止。 请注意,即使终止异常,这些语句也不会生成异常。
为了避免异常终止,执行应继续到块的末尾。 还可以执行 __leave 语句。 __leave语句允许立即终止__try块,而不会造成异常终止及其性能处罚。 检查编译器文档以确定是否支持 __leave 语句。
要求
要求 | “值” |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |