Marshal.GetExceptionForHR Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Converts an HRESULT error code to a corresponding Exception object.
Overloads
GetExceptionForHR(Int32) |
Converts the specified HRESULT error code to a corresponding Exception object. |
GetExceptionForHR(Int32, IntPtr) |
Converts the specified HRESULT error code to a corresponding Exception object, with additional error information passed in an IErrorInfo interface for the exception object. |
GetExceptionForHR(Int32)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
Converts the specified HRESULT error code to a corresponding Exception object.
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
Parameters
- errorCode
- Int32
The HRESULT to be converted.
Returns
An object that represents the converted HRESULT, or null
if the HRESULT value doesn't represent an error code (for example, S_OK
or S_FALSE
).
- Attributes
Remarks
Use the GetExceptionForHR method to get an Exception based on an HRESULT without having to call the ThrowExceptionForHR method and catch the exception.
The current IErrorInfo interface is used to construct the exception.
For the mapping from each HRESULT to its comparable exception class in the .NET Framework, see How to: Map HRESULTs and Exceptions.
See also
Applies to
GetExceptionForHR(Int32, IntPtr)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
Converts the specified HRESULT error code to a corresponding Exception object, with additional error information passed in an IErrorInfo interface for the exception object.
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
Parameters
- errorCode
- Int32
The HRESULT to be converted.
- errorInfo
-
IntPtr
nativeint
A pointer to the IErrorInfo
interface that provides more information about the error. You can specify IntPtr(0)
to use the current IErrorInfo
interface, or IntPtr(-1)
to ignore the current IErrorInfo
interface and construct the exception just from the error code.
Returns
An object that represents the converted HRESULT and information obtained from errorInfo
, or null
if an HRESULT value doesn't represent an error code (for example, S_OK
or S_FALSE
).
- Attributes
Remarks
Use the GetExceptionForHR method to get an Exception based on an HRESULT without having to call the ThrowExceptionForHR method and catch the exception (thus avoiding the corresponding performance overhead). The errorInfo
parameter supplies additional information about the error, such as its textual description and the globally unique identifier (GUID) for the interface that defined the error.
Use this method overload if you have custom error information that you have to supply in the conversion.
For the mapping from each HRESULT to its comparable exception class in the .NET Framework, see How to: Map HRESULTs and Exceptions.