Freigeben über


OpCodes.Endfilter-Feld

Überträgt die Steuerung von der filter-Klausel einer Ausnahme zurück an den CLI-Ausnahmehandler (Common Language Infrastructure).

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared ReadOnly Endfilter As OpCode
'Usage
Dim value As OpCode

value = OpCodes.Endfilter
public static readonly OpCode Endfilter
public:
static initonly OpCode Endfilter
public static final OpCode Endfilter
public static final var Endfilter : OpCode

Hinweise

In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:

Format

Assemblyformat

Beschreibung

FE 11

endfilter

Endfilterklausel von SEH-Ausnahmebehandlung.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. value wird auf dem Stapel abgelegt.

  2. value wird vom Stapel geholt, endfilter wird ausgeführt, und die Steuerung wird an den Ausnahmehandler übertragen.

Value (muss vom Typ int32 sein und zu einer bestimmten Wertegruppe gehören) wird von der Filterklausel zurückgegeben. Es sollte einen der folgenden Werte aufweisen:

  • exception_continue_search (value = 0), um die Suche nach einem Ausnahmehandler fortzusetzen

  • exception_execute_handler (value = 1), um die zweite Phase der Ausnahmebehandlung zu beginnen, in der finally-Blöcke ausgeführt werden, bis der dieser Filterklausel zugeordnete Handler gefunden wird. Der gefundene Handler wird umgehend ausgeführt.

Andere Ganzzahlwerte führen zu undefinierten Ergebnissen.

Wie in der Ausnahmetabelle der Methode dargestellt, muss der Einstiegspunkt eines Filters die erste Anweisung im Codeblock des Filters sein. Die endfilter-Anweisung muss die letzte Anweisung im Codeblock des Filters sein. (Daher kann es für jeden einzelnen Filterblock nur einen endfilter geben.) Nach Ausführen der endfilter-Anweisung gelten wieder die Verfahren der CLI-Ausnahmebehandlung.

Die Steuerung kann nur anhand von Ausnahmeverfahren in einen Filterblock übertragen werden. Die Steuerung kann nur mithilfe einer throw-Anweisung oder der letzten endfilter-Anweisung aus einem Filterblock heraus übertragen werden. Sie können keine try-Blöcke in filter-Blöcken einbetten. Wenn im filter-Block eine Ausnahme ausgelöst wird, wird sie abgefangen und der Wert 0 (exception_continue_search) zurückgegeben.

Die folgende Überladung der Emit-Methode verwendet den endfilter-Opcode:

  • ILGenerator.Emit(OpCode)

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OpCodes-Klasse
OpCodes-Member
System.Reflection.Emit-Namespace