共用方式為


Marshal.GetExceptionForHR 方法

定義

將 HRESULT 錯誤碼轉換成對應的 Exception 物件。

多載

GetExceptionForHR(Int32)

將指定的 HRESULT 錯誤碼轉換為對應的 Exception 物件。

GetExceptionForHR(Int32, IntPtr)

將指定的 HRESULT 錯誤碼轉換成對應的 Exception 物件,並將例外狀況物件的 IErrorInfo 介面中傳遞的其他錯誤資訊。

GetExceptionForHR(Int32)

來源:
Marshal.cs
來源:
Marshal.cs
來源:
Marshal.cs

將指定的 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 值不代表錯誤碼,則為 null(例如,S_OKS_FALSE)。

屬性

備註

使用 GetExceptionForHR 方法來根據 HRESULT 取得 Exception,而不需要呼叫 ThrowExceptionForHR 方法並攔截例外狀況。

目前 IErrorInfo 介面可用來建構例外狀況。

如需從每個 HRESULT 到 .NET Framework 中可比較例外狀況類別的對應,請參閱 如何:對應 HRESULT 和例外狀況

另請參閱

適用於

GetExceptionForHR(Int32, IntPtr)

來源:
Marshal.cs
來源:
Marshal.cs
來源:
Marshal.cs

將指定的 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 值不代表錯誤碼,則為 null (例如,S_OKS_FALSE)。

屬性

備註

使用 GetExceptionForHR 方法來根據 HRESULT 取得 Exception,而不需要呼叫 ThrowExceptionForHR 方法並攔截例外狀況(因此避免對應的效能額外負荷)。 errorInfo 參數會提供錯誤的其他資訊,例如其文字描述和定義錯誤的介面全域唯一標識碼 (GUID)。

如果您有轉換中必須提供的自定義錯誤資訊,請使用這個方法多載。

如需從每個 HRESULT 到 .NET Framework 中可比較例外狀況類別的對應,請參閱 如何:對應 HRESULT 和例外狀況

另請參閱

適用於