OpCodes.Endfilter Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Transfère à nouveau le contrôle de la clause filter
d'une exception au gestionnaire d'exceptions 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 et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :
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 le suivant :
value
est poussé vers la pile.value
est sorti de la pile ;endfilter
est exécuté et le contrôle est transféré au gestionnaire d’exceptions.
Value
(qui doit être de type int32
et fait partie d’un ensemble spécifique de valeurs) est retourné à partir de la clause de filtre. Il doit s’agir de l’un des éléments suivants :
exception_continue_search
(value
= 0) pour continuer à rechercher un gestionnaire d’exceptionsexception_execute_handler
(value
= 1) pour démarrer la deuxième phase de gestion des exceptions où les blocs finally 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 du bloc de code du filtre (il ne peut donc y en avoir qu’une endfilter
pour un seul bloc de filtre). Après l’exécution de l’instruction, le endfilter
contrôle revient logiquement au mécanisme de gestion des exceptions CLI.
Le contrôle ne peut pas être transféré dans un bloc de filtre, sauf par le biais du mécanisme d’exception. Le contrôle ne peut pas être transféré en dehors d’un bloc de filtre, sauf par l’utilisation d’une throw
instruction ou par l’exécution de 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 la valeur 0 (exception_continue_search
) est retournée.
La surcharge de méthode suivante Emit peut utiliser l’opcode endfilter
: