Marshal.ThrowExceptionForHR 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
擲回具有特定錯誤 HRESULT 值的例外狀況。
多載
ThrowExceptionForHR(Int32) |
擲回具有特定錯誤 HRESULT 值的例外狀況。 |
ThrowExceptionForHR(Int32, IntPtr) |
根據指定的 IErrorInfo 介面,擲回具有特定失敗 HRESULT 的例外狀況。 |
ThrowExceptionForHR(Int32)
- 來源:
- Marshal.cs
- 來源:
- Marshal.cs
- 來源:
- Marshal.cs
擲回具有特定錯誤 HRESULT 值的例外狀況。
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 或正數, (成功程式代碼) ,則方法會傳回 ,而不會建立或擲回例外狀況。
請注意, ThrowExceptionForHR(Int32) 如果已設定例外狀況,方法會根據目前線程的 IErrorInfo 介面傳回例外狀況。 發生這種情況時, errorCode
會忽略 參數。
某些失敗的 HRESULT 會對應至定義的例外狀況,而其他則不會。 如果 HRESULT 對應至定義的例外狀況, ThrowExceptionForHR 請建立例外狀況的實例並擲回它。 否則,它會建立的 COMException實例,使用 HRESULT 初始化錯誤碼欄位,並擲回該例外狀況。 叫用 時 ThrowExceptionForHR ,它會嘗試使用 Unmanaged GetErrorInfo 函式擷取有關錯誤的額外資訊。
如需從每個 HRESULT 對應至 .NET Framework 中可比較的例外狀況類別,請參閱 如何:對應 HRESULT 和例外狀況。
有時候, ThrowExceptionForHR 可能會從先前的 COM 呼叫傳回例外狀況。 在此情況下,您可以使用下列因應措施,並將 作為第二個參數傳遞 IntPtr(-1)
(errorInfo
) :
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
另請參閱
適用於
ThrowExceptionForHR(Int32, IntPtr)
- 來源:
- Marshal.cs
- 來源:
- Marshal.cs
- 來源:
- 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 或正數, (成功程式代碼) ,則方法會傳回 ,而不會建立或擲回例外狀況。
方法 ThrowExceptionForHR 會 errorInfo
釋放 參數,減少 IErrorInfo 介面的 COM 參考計數。
請注意, ThrowExceptionForHR 如果已設定例外狀況,方法會根據目前線程的 IErrorInfo 介面傳回例外狀況。 發生這種情況時, errorCode
會忽略 參數。
某些失敗的 HRESULT 會對應至定義的例外狀況,而其他則不會。 如果 HRESULT 對應至定義的例外狀況, ThrowExceptionForHR 請建立例外狀況的實例並擲回它。 否則,它會建立的 System.Runtime.InteropServices.COMException實例,使用 HRESULT 初始化錯誤碼欄位,並擲回該例外狀況。 參數 errorInfo
可用來擷取有關錯誤的額外資訊。
如需從每個 HRESULT 對應至 .NET Framework 中可比較的例外狀況類別,請參閱 如何:對應 HRESULT 和例外狀況。