OpCodes.Endfinally Champ

Définition

Transfère le contrôle à partir de l’ou fault de la finally 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 finally la fault 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 finally de la clause afin que le déroulement de la fault pile puisse continuer jusqu’à ce que le gestionnaire d’exceptions soit appelé. L’instruction ou endfinally l’instruction endfault 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 endfault les endfinally 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 à