終止處理
終止處理程式可確保每當控制流程離開特定受防護的程式代碼主體時,就會執行特定的程式代碼區塊。 終止處理程式包含下列元素。
- 受防護的程式代碼主體
- 當控制流程離開受防護主體時要執行的終止程式代碼區塊
終止處理程式會以語言特定語法宣告。 使用 Microsoft C/C++ 優化編譯程式,會使用 __try 和 __finally來實作。 如需詳細資訊,請參閱 處理程式語法。
受防護的程式代碼主體可以是程式代碼區塊、一組巢狀區塊,或整個程式或函式。 每當執行受防護主體時,就會執行終止程式代碼區塊。 唯一的例外狀況是線程在執行受防護主體期間終止時(例如,如果從受防護主體內呼叫 ExitThread 或 ExitProcess 函式)。
當控制流程離開受防護的主體時,會執行終止區塊,而不論受防護的主體是否正常或異常終止。 當區塊中的最後一個語句執行且控制會循序進入終止區塊時,會被視為已正常終止的主體。 當控制流程因例外狀況而離開受防護主體,或因為傳回、goto、中斷或繼續等控制語句而離開受防護主體時,就會發生異常終止。 從終止區塊內可以呼叫 AbnormalTermination 函式,以判斷受防護的主體是否正常終止。