다음을 통해 공유


Marshal.ThrowExceptionForHR 메서드

정의

오류가 있는 특정 HRESULT 값을 사용하여 예외를 throw합니다.

오버로드

ThrowExceptionForHR(Int32)

오류가 있는 특정 HRESULT 값을 사용하여 예외를 throw합니다.

ThrowExceptionForHR(Int32, IntPtr)

지정된 IErrorInfo 인터페이스에 따라 특정 오류 HRESULT가 포함된 예외를 발생시킵니다.

ThrowExceptionForHR(Int32)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

오류가 있는 특정 HRESULT 값을 사용하여 예외를 throw합니다.

public:
 static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode);
public static void ThrowExceptionForHR (int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)

매개 변수

errorCode
Int32

해당 예외에 해당하는 HRESULT입니다.

특성

설명

이 메서드는 지정된 오류 HRESULT에 대한 예외 개체를 만듭니다. HRESULT가 0 또는 양수(성공 코드)인 경우 메서드는 예외를 만들거나 throw하지 않고 를 반환합니다.

메서드는 ThrowExceptionForHR(Int32) 설정된 경우 현재 스레드의 IErrorInfo 인터페이스를 기반으로 예외를 반환합니다. 이 경우 매개 변수는 errorCode 무시됩니다.

일부 오류 HRESULT는 정의된 예외에 매핑되는 반면 다른 오류는 그렇지 않습니다. HRESULT가 정의된 예외에 매핑되는 경우 는 예외 ThrowExceptionForHR 의 인스턴스를 만들고 throw합니다. 그렇지 않으면 인스턴스 COMException를 만들고, HRESULT를 사용하여 오류 코드 필드를 초기화하고, 해당 예외를 throw합니다. ThrowExceptionForHR 가 호출되면 관리되지 않는 GetErrorInfo 함수를 사용하여 오류에 대한 추가 정보를 검색하려고 시도합니다.

각 HRESULT에서 .NET Framework의 유사한 예외 클래스로 매핑하는 방법은 방법: HRESULT 및 예외 매핑을 참조하세요.

경우에 따라 는 ThrowExceptionForHR 이전 COM 호출에서 예외를 반환할 수 있습니다. 이 경우 다음 해결 방법을 사용하고 두 번째 매개 변수()errorInfo로 전달할 IntPtr(-1) 수 있습니다.

public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

추가 정보

적용 대상

ThrowExceptionForHR(Int32, IntPtr)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

지정된 IErrorInfo 인터페이스에 따라 특정 오류 HRESULT가 포함된 예외를 발생시킵니다.

public:
 static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int * nativeint -> unit
static member ThrowExceptionForHR : int * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, errorInfo As IntPtr)

매개 변수

errorCode
Int32

해당 예외에 해당하는 HRESULT입니다.

errorInfo
IntPtr

nativeint

오류에 대한 추가 정보를 제공하는 IErrorInfo 인터페이스에 대한 포인터입니다. 현재 IntPtr(0) IErrorInfo 인터페이스를 사용하려면 을 지정하고, 현재 IntPtr(-1) IErrorInfo 인터페이스를 무시하고 오류 코드에서만 예외를 생성하려면 을 지정합니다.

특성

설명

이 메서드는 지정된 오류 HRESULT에 대한 예외 개체를 만듭니다. HRESULT가 0 또는 양수(성공 코드)인 경우 메서드는 예외를 만들거나 throw하지 않고 를 반환합니다.

메서드는 ThrowExceptionForHR 매개 변수를 errorInfo 해제하여 IErrorInfo 인터페이스의 COM 참조 수를 줄입니다.

메서드는 ThrowExceptionForHR 설정된 경우 현재 스레드의 IErrorInfo 인터페이스를 기반으로 예외를 반환합니다. 이 경우 매개 변수는 errorCode 무시됩니다.

일부 오류 HRESULT는 정의된 예외에 매핑되는 반면 다른 오류는 그렇지 않습니다. HRESULT가 정의된 예외에 매핑되는 경우 는 예외 ThrowExceptionForHR 의 인스턴스를 만들고 throw합니다. 그렇지 않으면 인스턴스 System.Runtime.InteropServices.COMException를 만들고, HRESULT를 사용하여 오류 코드 필드를 초기화하고, 해당 예외를 throw합니다. errorInfo 매개 변수는 오류에 대한 추가 정보를 검색하는 데 사용됩니다.

각 HRESULT에서 .NET Framework의 유사한 예외 클래스로 매핑하는 방법은 방법: HRESULT 및 예외 매핑을 참조하세요.

추가 정보

적용 대상