本節說明在 Microsoft C/C++優化編譯程式中實作的結構化例外狀況處理語法和使用方式。 編譯程式會將下列關鍵詞解譯為結構化例外狀況處理機制的一部分。
關鍵詞 | 描述 |
---|---|
__try | 開始受防護的程式代碼主體。 與 __except 關鍵詞搭配使用,以建構 例外狀況處理程式,或搭配 __finally 關鍵詞來建構 終止處理程式。 |
__except | 只有在其相關聯的 __try 區塊內發生例外狀況時,才會開始執行的程式代碼區塊。 |
__finally | 每當控制流程離開相關聯的 __try 區塊時,就會開始執行的程式代碼區塊。 |
__leave | 允許立即終止 __try 區塊,而不會造成異常終止及其效能處罰。 |
編譯程式也會解譯 GetExceptionCode、GetExceptionInformation,以及 異常Termination 函式做為關鍵詞,並在適當的例外狀況處理語法外部使用會產生編譯程序錯誤。 以下是這些函式的簡短描述。
功能 | 描述 |
---|---|
GetExceptionCode | 傳回識別例外狀況類型的程序代碼。 此函式只能從篩選表達式或例外狀況處理程式區塊內呼叫。 |
GetExceptionInformation | 傳回 EXCEPTION_POINTERS 結構的指標,其中包含內容記錄和例外狀況記錄的指標。 這個函式只能從例外狀況處理程式的篩選表達式內呼叫。 |
異常決定 | 指出控制流程是否在 區塊中執行最後一個語句之後,循序離開相關聯的 __try 區塊。 此函式只能從終止處理程式的 __finally 區塊內呼叫。 |