OpCodes.Endfinally Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přenese řízení z fault bloku výjimky nebo finally klauzule zpět do obslužné rutiny výjimky 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
Hodnota pole
Poznámky
Následující tabulka uvádí šestnáctkový formát sestavení jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:
| Formát | Formát sestavení | Description |
|---|---|---|
| DC | endfinally konecfaultu |
Ukončí klauzuli finallyfault bloku výjimky. |
Pro tuto instrukci neexistuje žádné chování přechodu zásobníku.
Endfinally a endfault signalizovat konec finally nebo fault klauzule, aby zásobník odvíjení mohl pokračovat, dokud se obslužná rutina výjimky nevyvolá. Pokyny endfinally přenese endfault řízení zpět do mechanismu výjimek rozhraní příkazového řádku. Mechanismus pak vyhledá další finally klauzuli v řetězci, pokud byl chráněný blok ukončen pokynem pro opuštění. Pokud se chráněný blok ukončil s výjimkou, rozhraní příkazového řádku vyhledá další finally nebo fault, nebo zadá obslužnou rutinu výjimky zvolenou při prvním průchodu zpracování výjimek.
endfinally Instrukce se může objevit jen lexicky v finally bloku.
endfilter Na rozdíl od instrukce není nutné, aby blok končil instrukcemi endfinally a v bloku může být tolik endfinally instrukcí, kolik potřebujete. Stejná omezení platí pro endfault instrukce a fault blok.
Ovládací prvek nelze přenést do finally bloku (nebo fault) s výjimkou mechanismu výjimky. Řízení nelze přenést z finally bloku (nebo fault) s výjimkou použití throw instrukce nebo provedení endfinally instrukce (nebo endfault). Konkrétně nemůžete "vypadnout" z finally bloku (nebo fault) nebo provést nebo instrukci RetLeave v finally rámci bloku (nebo fault).
Všimněte si, že endfault tyto aliasy a endfinally pokyny odpovídají stejnému opcode.
Následující Emit přetížení metody může použít endfinally (endfault) opcode, stejně jako metodu ILGeneratorEndExceptionBlock.