OpCodes.Endfilter フィールド

定義

例外の 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 

フィールド値

OpCode

注釈

次の表に、命令の 16 進数および Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンスの概要を示します。

形式 アセンブリ形式 説明
FE 11 endfilter SEH 例外処理のフィルター句を終了します。

スタック遷移動作は、順番に次のようになります。

  1. value がスタックにプッシュされます。

  2. value はスタックからポップされます。 endfilter が実行され、制御が例外ハンドラーに転送されます。

Value フィルター句から返されます (型 int32 であり、特定の値のセットの 1 つです)。 次のいずれかである必要があります。

  • exception_continue_search (value = 0) 例外ハンドラーの検索を続行する

  • exception_execute_handler (value = 1) このフィルター句に関連付けられているハンドラーが配置されるまで finally ブロックが実行される例外処理の第 2 フェーズを開始します。 検出されると、ハンドラーが実行されます。

その他の整数値では、未指定の結果が生成されます。

メソッドの例外テーブルに示すように、フィルターのエントリ ポイントは、フィルターのコード ブロックの最初の命令である必要があります。 この命令は endfilter 、フィルターのコード ブロック内の最後の命令である必要があります (したがって、1 つのフィルター ブロックに対して 1 つだけ endfilter 指定できます)。 命令を実行した後、制御は endfilter CLI 例外処理メカニズムに論理的に戻ります。

例外メカニズムを使用する場合を除き、フィルター ブロックに制御を転送することはできません。 制御は、命令を使用するか、または最後endfilterの命令を実行する場合を除き、throwフィルター ブロックから転送できません。 ブロック内filterにブロックをtry埋め込むことはできません。 ブロック内 filter で例外がスローされた場合はインターセプトされ、値 0 (exception_continue_search) が返されます。

Emit のメソッド オーバーロードでは、オペコードを endfilter 使用できます。

適用対象