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
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単な参照の概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
FE 11 | endfilter | SEH 例外処理のフィルター句を終了します。 |
スタック遷移の動作は、順番に次のようになります。
value
がスタックにプッシュされます。value
はスタックからポップされます。endfilter
が実行され、制御が例外ハンドラーに転送されます。
Value
(型 int32
である必要があり、特定の値のセットの 1 つです) は、filter 句から返されます。 次のいずれかである必要があります。
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
使用できます。
適用対象
.NET