Esta documentación está archivada y no tiene mantenimiento.

OpCodes.Endfinally (Campo)

Vuelve a transferir el control de la cláusula fault o finally de un bloque de excepción al controlador de excepciones de la Infraestructura de Common Language Runtime (CLI).

Espacio de nombres: System.Reflection.Emit
Ensamblado: mscorlib (en mscorlib.dll)

public static readonly OpCode Endfinally
public static final OpCode Endfinally
public static final var Endfinally : OpCode

En la tabla siguiente, se muestra el ensamblado de la instrucción máquina en formato hexadecimal y en formato de Lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:

Formato

Formato del ensamblado

Descripción

DC

endfinally

endfault

Finaliza la cláusula finally o fault de un bloque de excepción.

No existen comportamientos de transición de pila para esta instrucción máquina.

Endfinally y endfault indican el final de la cláusula finally o fault de modo que el desenredo de pila pueda continuar hasta que se invoque al controlador de excepciones. La instrucción máquina endfinally o endfault devuelve el control al mecanismo de excepciones de CLI. Después, este mecanismo busca la siguiente cláusula finally en la cadena si se abandonó el bloque protegido mediante una instrucción máquina para salir. Si se salió del bloque protegido con una excepción, CLI busca la siguiente cláusula finally o fault, o especifica el controlador de excepciones elegido durante el primer paso del control de excepciones.

Una instrucción máquina endfinally puede aparecer sólo léxicamente en un bloque finally. A diferencia de la instrucción máquina endfilter, no es obligatorio que el bloque finalice con una instrucción máquina endfinally, y el bloque puede contener tantas instrucciones máquina endfinally como sean necesarias. Las mismas restricciones se aplican a la instrucción máquina endfault y al bloque fault.

No se puede transferir el control a un bloque finally (o fault) si no es a través del mecanismo de excepciones. No se puede transferir el control desde un bloque finally (o fault) si no es a través de una instrucción máquina throw o a través de la ejecución de la instrucción máquina endfinally (o endfault). En concreto, no puede salir de un bloque finally (o fault) ni ejecutar una instrucción máquina Ret o Leave dentro de un bloque finally (o fault).

Tenga en cuenta que las instrucciones máquina endfault y endfinally son alias, es decir, corresponden al mismo código de operación.

La siguiente sobrecarga del método Emit puede utilizar el código de operación endfinally (endfault), así como el método EndExceptionBlock de ILGenerator.

  • ILGenerator.Emit(OpCode)

  • ILGenerator.EndExceptionBlock()

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

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0
Mostrar: