Marshal.GetHRForException(Exception) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将指定异常转换为 HRESULT。
public:
static int GetHRForException(Exception ^ e);
[System.Security.SecurityCritical]
public static int GetHRForException (Exception e);
public static int GetHRForException (Exception? e);
public static int GetHRForException (Exception e);
[<System.Security.SecurityCritical>]
static member GetHRForException : Exception -> int
static member GetHRForException : Exception -> int
Public Shared Function GetHRForException (e As Exception) As Integer
参数
要转换为 HRESULT 的异常。
返回
映射到所提供的异常的 HRESULT。
- 属性
注解
GetHRForException 还为可通过调用 COM GetErrorInfoNEEDGUID 函数获取的异常设置 IErrorInfo 接口。 可以使用此函数在 COM 接口的托管类实现上返回 HRESULT 值,在该接口中应用 特性 PreserveSigAttribute 。 让特性化方法捕获所有异常,并使用 GetHRForException 方法返回相应的 HRESULT 值。 允许异常在 方法外部传播会产生不正确的行为。 (事实上,公共语言运行时无法将异常传递给通过 v-table.)
请注意, GetHRForException 方法设置当前线程的 IErrorInfo 接口。 这可能会导致方法(如 ThrowExceptionForHR 默认使用当前线程的 IErrorInfo 的方法)出现意外结果(如果已设置)。