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_search
value
(= 0) 以繼續搜尋例外狀況處理程式exception_execute_handler
value
(= 1) 啟動例外狀況處理的第二個階段,直到找到與此篩選子句相關聯的處理程序為止。 探索時,會執行處理程式。
其他整數值將會產生未指定的結果。
篩選的進入點,如方法的例外狀況數據表所示,必須是篩選程式代碼區塊中的第一個指令。 指令 endfilter
必須是篩選程式代碼區塊的最後一個指令, (因此任何單一篩選區塊只能有一個 endfilter
) 。 執行 endfilter
指令之後,控制會以邏輯方式流回 CLI 例外狀況處理機制。
除非透過例外狀況機制,否則無法將控制傳送至篩選區塊。 除非透過使用 throw
指令或執行最終 endfilter
指令,否則無法將控制權移出篩選區塊。 您無法在 try
區塊內 filter
嵌區塊。 如果在區塊內 filter
擲回例外狀況,則會攔截該例外狀況,並傳回值 0 (exception_continue_search
) 。
下列 Emit 方法多載可以使用 endfilter
opcode: