다음을 통해 공유


OpCodes.Endfinally 필드

예외 블록의 fault 절이나 finally 절에서 CLI(공용 언어 인프라) 예외 처리기로 다시 제어를 전달합니다.

네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Shared ReadOnly Endfinally As OpCode
‘사용 방법
Dim value As OpCode

value = OpCodes.Endfinally
public static readonly OpCode Endfinally
public:
static initonly OpCode Endfinally
public static final OpCode Endfinally
public static final var Endfinally : OpCode

설명

다음 표에서는 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 간단한 설명과 함께 나열합니다.

형식

어셈블리 형식

설명

DC

endfinally

endfault

예외 블록의 finally 절이나 fault 절을 끝냅니다.

이 명령에 대해 스택 전환 동작이 발생하지 않습니다.

예외 처리기가 호출될 때까지 스택 해제가 계속될 수 있도록 Endfinallyendfaultfinally 절이나 fault 절의 끝을 신호합니다. endfinally 또는 endfault 명령은 CLI 예외 메커니즘으로 다시 제어를 전달합니다. 그런 다음 leave 명령을 사용하여 보호된 블록이 끝난 경우 예외 메커니즘이 체인에서 다음 finally 절을 검색합니다. 예외를 사용하여 보호된 블록이 끝난 경우 CLI가 다음 finally 또는 fault를 검색하거나 예외 처리를 처음 전달할 때 선택한 예외 처리기를 입력합니다.

endfinally 명령은 어휘적으로 finally 블록에만 나타날 수 있습니다. endfilter 명령과 달리 endfinally 명령을 사용하여 블록을 끝내야 할 필요는 없으며 블록에 endfinally 명령을 필요한 만큼 사용할 수 있습니다. endfault 명령과 fault 블록에도 같은 제한이 적용됩니다.

예외 메커니즘이 아닌 finally 또는 fault 블록으로 제어를 전달할 수 없습니다. throw 명령을 사용하지 않거나 endfinally 또는 endfault 명령을 실행하여 finally 또는 fault ) 블록 밖으로 제어를 전달할 수 없습니다. 특히 finally 또는 fault 블록에서 '벗어나거나' finally 또는 fault 블록에서 Ret 또는 Leave 명령을 실행할 수 없습니다.

endfault 명령과 endfinally 명령은 같은 opcode에 해당하는 별칭입니다.

다음은 ILGenerator 메서드 EndExceptionBlock 뿐 아니라 endfinally(endfault) opcode도 사용할 수 있는 Emit 메서드 오버로드입니다.

  • ILGenerator.Emit(OpCode)

  • ILGenerator.EndExceptionBlock()

플랫폼

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

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

OpCodes 클래스
OpCodes 멤버
System.Reflection.Emit 네임스페이스