Marshal.GetExceptionForHR 方法

定义

将 HRESULT 错误代码转换为相应的 Exception对象。

重载

GetExceptionForHR(Int32)

将指定的 HRESULT 错误代码转换为对应的 Exception 对象。

GetExceptionForHR(Int32, IntPtr)

将指定的 HRESULT 错误代码转换为对应的 Exception 对象,其中包括通过此异常对象的 IErrorInfo 接口传递的其他错误信息。

GetExceptionForHR(Int32)

将指定的 HRESULT 错误代码转换为对应的 Exception 对象。

public:
 static Exception ^ GetExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static Exception GetExceptionForHR (int errorCode);
public static Exception? GetExceptionForHR (int errorCode);
public static Exception GetExceptionForHR (int errorCode);
[<System.Security.SecurityCritical>]
static member GetExceptionForHR : int -> Exception
static member GetExceptionForHR : int -> Exception
Public Shared Function GetExceptionForHR (errorCode As Integer) As Exception

参数

errorCode
Int32

要转换的 HRESULT。

返回

一个对象,表示转换后的 HRESULT;或者,如果 HRESULT 值不表示错误代码(例如,S_OKS_FALSE),则为 null

属性

注解

GetExceptionForHR使用 方法获取Exception基于 HRESULT 的 ,而无需调用 ThrowExceptionForHR 方法并捕获异常。

当前 IErrorInfo 接口用于构造异常。

有关从每个 HRESULT 到.NET Framework中可比较异常类的映射,请参阅如何:映射 HRESULT 和异常

另请参阅

适用于

GetExceptionForHR(Int32, IntPtr)

将指定的 HRESULT 错误代码转换为对应的 Exception 对象,其中包括通过此异常对象的 IErrorInfo 接口传递的其他错误信息。

public:
 static Exception ^ GetExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static Exception GetExceptionForHR (int errorCode, IntPtr errorInfo);
public static Exception? GetExceptionForHR (int errorCode, IntPtr errorInfo);
public static Exception GetExceptionForHR (int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member GetExceptionForHR : int * nativeint -> Exception
static member GetExceptionForHR : int * nativeint -> Exception
Public Shared Function GetExceptionForHR (errorCode As Integer, errorInfo As IntPtr) As Exception

参数

errorCode
Int32

要转换的 HRESULT。

errorInfo
IntPtr

nativeint

指向 IErrorInfo 接口的指针,用于提供有关错误的详细信息。 你可以指定 IntPtr(0) 以使用当前 IErrorInfo 接口,或者指定 IntPtr(-1) 以忽略当前 IErrorInfo 接口,仅从错误代码构造异常。

返回

一个对象,表示转换后的 HRESULT 的对象和从 errorInfo 获得的信息;或者,如果 HRESULT 值不表示错误代码(例如,S_OKS_FALSE),则为 null

属性

注解

GetExceptionForHR使用 方法获取基于 HRESULT 的 ,Exception而无需调用 ThrowExceptionForHR 方法并捕获异常 (从而避免) 相应的性能开销。 参数 errorInfo 提供有关错误的其他信息,例如其文本说明以及定义错误的接口的 GUID) (全局唯一标识符。

如果转换中必须提供的自定义错误信息,请使用此方法重载。

有关从每个 HRESULT 到.NET Framework中可比较异常类的映射,请参阅如何:映射 HRESULT 和异常

另请参阅

适用于