다음을 통해 공유


ObjectiveCMarshal.UnhandledExceptionPropagationHandler 대리자

정의

관리> 되는 네이티브 경계(즉, 역방향 P/Invoke)를 통과하는 처리되지 않은 예외에 대한 처리기입니다.

public: delegate delegate* unmanaged<IntPtr , void> ^ ObjectiveCMarshal::UnhandledExceptionPropagationHandler(Exception ^ exception, RuntimeMethodHandle lastMethod, [Runtime::InteropServices::Out] IntPtr % context);
public delegate delegate* unmanaged<IntPtr, void> ObjectiveCMarshal.UnhandledExceptionPropagationHandler(Exception exception, RuntimeMethodHandle lastMethod, out IntPtr context);
type ObjectiveCMarshal.UnhandledExceptionPropagationHandler = delegate of Exception * RuntimeMethodHandle * nativeint -> delegate* unmanaged<nativeint, unit>
Public Delegate Function ObjectiveCMarshal.UnhandledExceptionPropagationHandler(exception As Exception, lastMethod As RuntimeMethodHandle, ByRef context As IntPtr) As delegate* unmanaged< As IntPtr, Void> 

매개 변수

exception
Exception

처리되지 않은 예외가 발생했습니다.

lastMethod
RuntimeMethodHandle

마지막 관리되는 메서드입니다.

context
IntPtr

nativeint

반환된 함수 포인터에 제공된 컨텍스트입니다.

반환 값

delegate* unmanaged<IntPtr, Void>

delegate* unmanaged<nativeint, Void>

예외 전파 콜백입니다.

설명

처리기가 관리되는 예외를 네이티브 환경에 제대로 전파할 수 있는 경우 관리되지 않는 콜백을 반환할 수 있고, 그렇지 않으면 null입니다. 는 RuntimeMethodHandle 런타임을 떠나기 전에 실행된 마지막 관리되는 메서드에 대한 것입니다. 반환된 콜백과 함께 처리기는 디스패치 중에 콜백에 전달될 컨텍스트를 반환할 수 있습니다.

반환된 처리기는 호출될 때 컨텍스트를 전달하며 관리할 콜백의 책임입니다. 처리기는 를 반환하지 않아야 하며, 예외를 네이티브 환경에 전파하거나(예: 네이티브 예외를 throw) 빠르게 실패해야 합니다.

확장 메서드

GetMethodInfo(Delegate)

지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다.

적용 대상