OpCodes.Endfilter Champ

Définition

Transfère le contrôle de la filter clause d’une exception au gestionnaire d’exceptions 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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
FE 11 endfilter Clause de filtre de fin de la gestion des exceptions SEH.

Le comportement transitionnel de la pile, dans l’ordre séquentiel, est :

  1. value est poussé sur la pile.

  2. value est sorti de la pile ; endfilter est exécuté et le contrôle est transféré vers le gestionnaire d’exceptions.

Value (qui doit être de type int32 et est l’un d’un ensemble spécifique de valeurs) est retourné à partir de la clause de filtre. Il doit s’agir de l’un des suivants :

  • exception_continue_search (value = 0) pour continuer à rechercher un gestionnaire d’exceptions

  • exception_execute_handler (value = 1) pour démarrer la deuxième phase de gestion des exceptions où les blocs finalement sont exécutés jusqu’à ce que le gestionnaire associé à cette clause de filtre se trouve. Lors de la découverte, le gestionnaire est exécuté.

D’autres valeurs entières produisent des résultats non spécifiés.

Le point d’entrée d’un filtre, comme indiqué dans la table d’exceptions de la méthode, doit être la première instruction du bloc de code du filtre. L’instruction endfilter doit être la dernière instruction dans le bloc de code du filtre (il ne peut donc y en avoir qu’une endfilter pour n’importe quel bloc de filtre unique). Après avoir exécuté l’instruction endfilter , le contrôle revient logiquement au mécanisme de gestion des exceptions CLI.

Impossible de transférer le contrôle dans un bloc de filtre, sauf par le biais du mécanisme d’exception. Le contrôle ne peut pas être transféré hors d’un bloc de filtre, à l’exception de l’utilisation d’une throw instruction ou en exécutant l’instruction finale endfilter . Vous ne pouvez pas incorporer un try bloc dans un filter bloc. Si une exception est levée à l’intérieur du filter bloc, elle est interceptée et une valeur de 0 (exception_continue_search) est retournée.

La surcharge de méthode suivante Emit peut utiliser l’opcode endfilter :

S’applique à