OpCodes.Endfilter Campo

Definizione

Trasferisce il controllo dalla clausola filter di un'eccezione nuovamente al gestore di eccezioni di Common Language Infrastructure (CLI).

public: static initonly System::Reflection::Emit::OpCode Endfilter;
public static readonly System.Reflection.Emit.OpCode Endfilter;
 staticval mutable Endfilter : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfilter As OpCode 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:

Formato Formato assembly Descrizione
FE 11 endfilter Clausola di filtro finale della gestione delle eccezioni SEH.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. value viene inserito nello stack.

  2. value viene estratto dallo stack; endfilter viene eseguito e il controllo viene trasferito al gestore eccezioni.

Value (che deve essere di tipo int32 ed è uno di un set specifico di valori) viene restituito dalla clausola di filtro. Deve essere uno dei seguenti:

  • exception_continue_search (value = 0) per continuare a cercare un gestore eccezioni

  • exception_execute_handler (value = 1) per avviare la seconda fase di gestione delle eccezioni in cui vengono eseguiti i blocchi finally fino a quando non si trova il gestore associato a questa clausola di filtro. Al momento dell'individuazione, il gestore viene eseguito.

Altri valori integer produrranno risultati non specificati.

Il punto di ingresso di un filtro, come illustrato nella tabella delle eccezioni del metodo, deve essere la prima istruzione nel blocco di codice del filtro. L'istruzione endfilter deve essere l'ultima istruzione nel blocco di codice del filtro, pertanto può essere presente solo una endfilter per qualsiasi blocco di filtro singolo. Dopo l'esecuzione dell'istruzione endfilter , il controllo passa logicamente al meccanismo di gestione delle eccezioni dell'interfaccia della riga di comando.

Il controllo non può essere trasferito in un blocco di filtro, ad eccezione del meccanismo di eccezione. Il controllo non può essere trasferito all'esterno di un blocco di filtro, ad eccezione dell'uso di un'istruzione throw o eseguendo l'istruzione finale endfilter . Non è possibile incorporare un try blocco all'interno di un filter blocco. Se viene generata un'eccezione all'interno del filter blocco, viene intercettata e viene restituito un valore pari a 0 (exception_continue_search).

L'overload del metodo seguente Emit può usare il endfilter codice operativo:

Si applica a