OpCodes.Endfinally 필드

정의

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

public: static initonly System::Reflection::Emit::OpCode Endfinally;
public static readonly System.Reflection.Emit.OpCode Endfinally;
 staticval mutable Endfinally : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfinally As OpCode 

필드 값

OpCode

설명

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

서식 어셈블리 형식 Description
DC endfinally

endfault
예외 블록의 finally 또는 fault 절을 종료합니다.

이 명령에 대한 스택 전환 동작은 없습니다.

Endfinallyendfault 예외 처리기가 호출될 때까지 스택 해제를 계속할 수 있도록 or fault 절의 finally 끝을 신호로 표시합니다. endfinally 또는 endfault 명령은 컨트롤을 CLI 예외 메커니즘으로 다시 전송합니다. 그런 다음 보호된 블록이 종료 명령으로 종료된 경우 메커니즘은 체인의 다음 finally 절을 검색합니다. 보호된 블록이 예외로 종료된 경우 CLI는 다음 finally 을 검색하거나 fault예외 처리의 첫 번째 전달 중에 선택한 예외 처리기를 입력합니다.

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

예외 메커니즘을 통해서만 컨트롤을 finally (또는 fault) 블록으로 전송할 수 없습니다. 명령을 사용 throw 하거나 (또는) 명령을 실행하는 endfinally 경우를 제외하고는 컨트롤을 (또는fault``endfault) 블록 밖으로 finally 전송할 수 없습니다. 특히 (또는) 블록에서 finally "빠져나서" 또는 (또는fault``fault) 블록 내에서 finally 명령 Ret 이나 Leave 명령을 실행할 수 없습니다.

endfault 명령과 endfinally 명령은 별칭이며 동일한 opcode에 해당합니다.

다음 Emit 메서드 오버로드는 (endfault) opcode와 메서드EndExceptionBlockILGenerator 사용할 endfinally 수 있습니다.

적용 대상