Share via


OpCodes.Endfilter 欄位

定義

將控制權從例外狀況的 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 例外狀況處理的結束篩選子句。

堆疊轉換行為會依循序順序為:

  1. value 會推送至堆疊。

  2. 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:

適用於