OpCodes.Endfilter Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Transfere o controle da cláusula filter
de uma exceção para o manipulador de exceção da CLI (Common Language Infrastructure).
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
Valor do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
FE 11 | Endfilter | Cláusula de filtro final do tratamento de exceção SEH. |
O comportamento de transição da pilha, em ordem sequencial, é:
value
é enviado por push para a pilha.value
é estourado da pilha;endfilter
é executado e o controle é transferido para o manipulador de exceção.
Value
(que deve ser do tipo int32
e é um de um conjunto específico de valores) é retornado da cláusula filter. Deve ser um dos seguintes:
exception_continue_search
(value
= 0) para continuar procurando um manipulador de exceçãoexception_execute_handler
(value
= 1) para iniciar a segunda fase de tratamento de exceção em que os blocos finalmente são executados até que o manipulador associado a essa cláusula de filtro esteja localizado. Após a descoberta, o manipulador é executado.
Outros valores inteiros produzirão resultados não especificados.
O ponto de entrada de um filtro, conforme mostrado na tabela de exceção do método, deve ser a primeira instrução no bloco de código do filtro. A endfilter
instrução deve ser a última instrução no bloco de código do filtro (portanto, só pode haver uma endfilter
para qualquer bloco de filtro único). Depois de executar a instrução, o endfilter
controle flui logicamente de volta para o mecanismo de tratamento de exceção da CLI.
O controle não pode ser transferido para um bloco de filtro, exceto por meio do mecanismo de exceção. O controle não pode ser transferido de um bloco de filtro, exceto pelo uso de uma throw
instrução ou pela execução da instrução final endfilter
. Não é possível inserir um try
bloco dentro de um filter
bloco. Se uma exceção for lançada dentro do filter
bloco, ela será interceptada e um valor de 0 (exception_continue_search
) será retornado.
A sobrecarga do método Emit a seguir pode usar o endfilter
opcode: