OpCodes.Endfinally Fält

Definition

Överför kontrollen från fault eller-satsen finally i ett undantagsblock tillbaka till undantagshanteraren för 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 

Fältvärde

Kommentarer

I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:

Format Sammansättningsformat Description
DC endfinally

endfault
finally Avslutar satsen eller fault i ett undantagsblock.

Det finns inga stackövergångsbeteenden för den här instruktionen.

Endfinally och endfault signalera slutet på finally satsen eller fault så att stackens avrullning kan fortsätta tills undantagshanteraren anropas. Instruktionen endfinally eller endfault överför kontrollen tillbaka till CLI-undantagsmekanismen. Mekanismen söker sedan efter nästa finally sats i kedjan om det skyddade blocket avslutades med en ledighetsinstruktion. Om det skyddade blocket avslutades med ett undantag söker CLI efter nästa finally eller fault, eller anger den undantagshanterare som valdes under den första hanteringen av undantag.

En endfinally instruktion kanske bara visas lexikalt inom ett finally block. Till skillnad från instruktionen endfilter finns det inget krav på att blocket slutar med en endfinally instruktion, och det kan finnas så många endfinally instruktioner i blocket som krävs. Samma begränsningar gäller för instruktionen endfaultfault och blocket.

Kontrollen kan inte överföras till ett finally (eller fault) block förutom genom undantagsmekanismen. Kontrollen kan inte överföras från ett finally (eller fault) block förutom genom användning av en throw instruktion eller genom att köra (eller endfinally) instruktionen endfault . I synnerhet kan du inte "falla ut" från ett finally (eller fault) block eller köra en Ret eller Leave instruktion inom ett finally (eller fault) block.

Observera att endfault instruktionerna och endfinally är alias – de motsvarar samma opcode.

Följande Emit metodöverlagring kan använda endfinally (endfault) opcode samt ILGenerator metoden EndExceptionBlock.

Gäller för