OpCodes.Endfilter Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Vuelve a transferir el control de la cláusula filter
de una excepción al controlador de excepciones de 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
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal y del lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
FE 11 | endfilter | Cláusula de filtro final del control de excepciones de SEH. |
El comportamiento transitorio de la pila, en orden secuencial, es:
value
se inserta en la pila.value
se extrae de la pila;endfilter
se ejecuta y el control se transfiere al controlador de excepciones.
Value
(que debe ser de tipo int32
y es uno de un conjunto específico de valores) se devuelve de la cláusula filter. Debe ser una de las siguientes:
exception_continue_search
(value
= 0) para continuar buscando un controlador de excepcionesexception_execute_handler
(value
= 1) para iniciar la segunda fase del control de excepciones donde se ejecutan los bloques finally hasta que se encuentra el controlador asociado a esta cláusula de filtro. Tras la detección, se ejecuta el controlador.
Otros valores enteros generarán resultados no especificados.
El punto de entrada de un filtro, como se muestra en la tabla de excepciones del método, debe ser la primera instrucción del bloque de código del filtro. La endfilter
instrucción debe ser la última instrucción del bloque de código del filtro (por lo tanto, solo puede haber una endfilter
para cualquier bloque de filtro único). Después de ejecutar la endfilter
instrucción, el control vuelve lógicamente al mecanismo de control de excepciones de la CLI.
El control no se puede transferir a un bloque de filtro, excepto a través del mecanismo de excepción. El control no se puede transferir fuera de un bloque de filtro, excepto mediante el uso de una throw
instrucción o mediante la ejecución de la instrucción final endfilter
. No se puede insertar un try
bloque dentro de un filter
bloque . Si se produce una excepción dentro del filter
bloque , se intercepta y se devuelve un valor de 0 (exception_continue_search
).
La sobrecarga del método siguiente Emit puede usar el endfilter
código de operación: