OpCodes.Endfinally Champ

Définition

Transfère le contrôle à partir de l’ou finally de la fault clause d’un bloc d’exception vers le gestionnaire d’exceptions Common Language Infrastructure (CLI).

public: static initonly System::Reflection::Emit::OpCode Endfinally;
public static readonly System.Reflection.Emit.OpCode Endfinally;
 staticval mutable Endfinally : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfinally 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
DC endfinally

endfault
Termine la ou fault la finally clause d’un bloc d’exception.

Il n’existe aucun comportement de transition de pile pour cette instruction.

Endfinallyet endfault signalez la fin de la ou fault de la clause afin que le déroulement de la finally pile puisse continuer jusqu’à ce que le gestionnaire d’exceptions soit appelé. L’instruction ou endfault l’instruction endfinally transfère le contrôle vers le mécanisme d’exception CLI. Le mécanisme recherche ensuite la clause suivante finally dans la chaîne si le bloc protégé a été quitté avec une instruction de congé. Si le bloc protégé a été quitté avec une exception, l’interface CLI recherche le gestionnaire d’exceptions suivant finally ou fault, ou entre le gestionnaire d’exceptions choisi lors de la première passe de gestion des exceptions.

Une endfinally instruction peut uniquement apparaître lexicalement dans un finally bloc. Contrairement à l’instruction endfilter , il n’est pas nécessaire que le bloc se termine par une endfinally instruction et qu’il peut y avoir autant d’instructions endfinally dans le bloc que nécessaire. Ces mêmes restrictions s’appliquent à l’instruction endfault et au fault bloc.

Impossible de transférer le contrôle dans un finally bloc (ou fault) à l’exception du mécanisme d’exception. Le contrôle ne peut pas être transféré hors d’un finally bloc (ou fault) à l’exception de l’utilisation d’une throw instruction ou de l’exécution de l’instruction endfinally (ou endfault). En particulier, vous ne pouvez pas « tomber » d’un finally bloc (ou) ou faultexécuter une Ret ou Leave une instruction au sein d’un finally bloc (ou fault).

Notez que les instructions et endfinally les endfault alias correspondent au même opcode.

La surcharge de méthode suivante Emit peut utiliser le endfinally (endfault) opcode, ainsi que la ILGenerator méthode EndExceptionBlock.

S’applique à