OpCodes.Endfinally Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überträgt die Steuerung aus der fault
-Klausel oder finally
-Klausel eines Ausnahmeblockes zurück an den CLI-Ausnahmehandler (Common Language Infrastructure).
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
Feldwert
Hinweise
In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:
Format | Assemblyformat | BESCHREIBUNG |
---|---|---|
SL | endfinally endfault |
Beendet die finally -Klausel oder fault eines Ausnahmeblocks. |
Für diese Anweisung gibt es keine Stapelübergangsverhalten.
Endfinally
und endfault
signalisieren das Ende der finally
-Klausel oder fault
, sodass die Stapelentladung fortgesetzt werden kann, bis der Ausnahmehandler aufgerufen wird. Die endfinally
-Anweisung oder endfault
überträgt die Steuerung zurück an den CLI-Ausnahmemechanismus. Der Mechanismus sucht dann nach der nächsten finally
Klausel in der Kette, wenn der geschützte Block mit einer Leave-Anweisung beendet wurde. Wenn der geschützte Block mit einer Ausnahme beendet wurde, sucht die CLI nach dem nächsten finally
oder oder fault
oder gibt den Ausnahmehandler ein, der während des ersten Durchlaufs der Ausnahmebehandlung ausgewählt wurde.
Eine endfinally
Anweisung kann nur lexikalisch innerhalb eines finally
Blocks angezeigt werden.
endfilter
Im Gegensatz zur -Anweisung ist es nicht erforderlich, dass der Block mit einer endfinally
Anweisung endet, und es können so viele endfinally
Anweisungen im Block wie erforderlich vorhanden sein. Dieselben Einschränkungen gelten für die endfault
Anweisung und den fault
Block.
Das Steuerelement kann nicht in einen finally
(oder fault
) -Block übertragen werden, außer über den Ausnahmemechanismus. Das Steuerelement kann nicht aus einem finally
(oder fault
) -Block übertragen werden, es sei denn, es wird eine throw
Anweisung verwendet oder die endfinally
Anweisung (oder endfault
) ausgeführt. Insbesondere können Sie nicht aus einem finally
(oder fault
) Block "herausfallen" oder eine - oder Leave -RetAnweisung innerhalb eines finally
-Blocks (oder fault
) ausführen.
Beachten Sie, dass die endfault
Anweisungen und endfinally
Aliase sind – sie entsprechen demselben Opcode.
Die folgende Emit Methodenüberladung kann den endfinally
Opcode (endfault
) sowie die ILGenerator
-Methode EndExceptionBlockverwenden.