OpCodes.Endfilter 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將例外子句的控制 filter 權回傳回通用語言基礎設施(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 中介語言(MSIL)組合格式,並附有簡短參考摘要:
| Format | 組裝格式 | Description |
|---|---|---|
| FE 11 | 端濾波器 | 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 拋出例外,該例外會被攔截並回傳 0exception_continue_search() 值。
以下 Emit 方法的超載可使用操作 endfilter 碼: