Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

OpCodes.Endfilter, champ

Transfère à nouveau le contrôle de la clause filter d'une exception au gestionnaire d'exceptions CLI.

Espace de noms :  System.Reflection.Emit
Assembly :  mscorlib (dans mscorlib.dll)

public static readonly OpCode Endfilter

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

Format

Format d'assembly

Description

FE 11

endfilter

Terminent la clause Filtre de gestion d'exceptions SEH.

Le comportement de transition de la pile, dans un ordre séquentiel, est le suivant :

  1. value fait l'objet d'un push dans la pile.

  2. value est dépilé ; endfilter est exécuté et le contrôle est transféré au gestionnaire d'exceptions.

Value (qui doit être de type int32 et être l'une des valeurs d'un jeu de valeurs spécifique) est retourné par la clause Filtre. Il doit s'agir de l'une des valeurs suivantes :

  • exception_continue_search (value = 0) pour continuer la recherche d'un gestionnaire d'exceptions.

  • exception_execute_handler (value = 1) pour lancer la deuxième phase de la gestion des exceptions dans laquelle les blocs finally sont exécutés jusqu'à ce que le gestionnaire associé à cette clause Filtre soit localisé. Une fois détecté, le gestionnaire est exécuté.

D'autres valeurs entières produiront des résultats non spécifiés.

Comme indiqué dans la table d'exceptions de la méthode, le point d'entrée d'un filtre doit être la première instruction dans le 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 exister qu'un seul endfilter pour chaque bloc de filtre). Une fois l'instruction endfilter exécutée, le flux de contrôle retourne logiquement au mécanisme de gestion d'exceptions CLI.

Le contrôle ne peut pas être transféré dans un bloc de filtre sauf via le mécanisme de gestion d'exceptions. Le contrôle peut être transféré à partir d'un bloc de filtre uniquement en utilisant une instruction throw ou en exécutant l'instruction endfilter finale. Vous ne pouvez pas incorporer un bloc try dans un bloc filter. Si une exception est levée à l'intérieur du bloc filter, elle est interceptée et la valeur 0 (exception_continue_search) est retournée.

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

  • ILGenerator.Emit(OpCode)

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

Afficher:
© 2014 Microsoft