OpCodes.Endfilter 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將控制權從例外狀況的 filter 子句傳回 Common Language Infrastructure (CLI) 例外處理常式。
public: static initonly System::Reflection::Emit::OpCode Endfilter;
public static readonly System.Reflection.Emit.OpCode Endfilter;
staticval mutable Endfilter : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfilter As OpCode
欄位值
備註
下表列出指示的十六進位和 Microsoft Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:
| 格式 | 元件格式 | Description |
|---|---|---|
| FE 11 | endfilter | SEH 例外狀況處理的結束篩選子句。 |
堆疊轉換行為會依循序順序為:
value會推送至堆疊。value從堆疊快顯;endfilter會執行 ,並將控制權傳送至例外狀況處理程式。
Value (必須是 型 int32 別,而且是一組特定的值,) 從篩選子句傳回。 它應該是下列其中一項:
exception_continue_searchvalue(= 0) 以繼續搜尋例外狀況處理程式exception_execute_handlervalue(= 1) 啟動例外狀況處理的第二個階段,直到找到與此篩選子句相關聯的處理程序為止。 探索時,會執行處理程式。
其他整數值將會產生未指定的結果。
篩選的進入點,如方法的例外狀況數據表所示,必須是篩選程式代碼區塊中的第一個指令。 指令 endfilter 必須是篩選程式代碼區塊的最後一個指令, (因此任何單一篩選區塊只能有一個 endfilter) 。 執行 endfilter 指令之後,控制會以邏輯方式流回 CLI 例外狀況處理機制。
除非透過例外狀況機制,否則無法將控制傳送至篩選區塊。 除非透過使用 throw 指令或執行最終 endfilter 指令,否則無法將控制權移出篩選區塊。 您無法在 try 區塊內 filter 嵌區塊。 如果在區塊內 filter 擲回例外狀況,則會攔截該例外狀況,並傳回值 0 (exception_continue_search) 。
下列 Emit 方法多載可以使用 endfilter opcode: