OpCodes.Endfilter Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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, è:
value
viene inserito nello stack.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 eccezioniexception_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: