AbnormalTermination 宏
指出終止處理常式 的__try 區塊是否正常終止。 函式只能從終止處理常式 的 __finally 區塊內呼叫。
注意
Microsoft C/C++ 優化編譯器會將此函式解譯為關鍵字,並在適當的例外狀況處理語法外部使用會產生編譯器錯誤。
語法
BOOL AbnormalTermination(void);
參數
這個宏沒有參數。
傳回值
如果 __try 區塊異常終止,則傳回值為非零。
如果 __try 區塊正常終止,則傳回值為零。
備註
只有在執行離開區塊之後,在區塊中執行最後一個語句之後, __try 區塊才會正常終止。 語句 (,例如 return、 goto、 continue或 break) ,導致執行離開 __try 區塊會導致區塊異常終止。 即使這類語句是 __try 區塊中的最後一個語句,也是如此。
__try區塊的異常終止會導致系統向後搜尋所有堆疊框架,以判斷是否必須呼叫任何終止處理常式。 這可能會導致執行數百個指令,因此請務必避免因為return、goto、continue或break語句而造成__try區塊異常終止。 請注意,即使終止異常,這些語句也不會產生例外狀況。
若要避免異常終止,執行應該會繼續到區塊的結尾。 您也可以執行 __leave 語句。 __leave語句允許立即終止__try區塊,而不會造成異常終止及其效能負面影響。 請檢查您的編譯器檔,以判斷是否支援 __leave 語句。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |