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