Поделиться через


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, или null, если значение HRESULT не представляет код ошибки (например, S_OK или S_FALSE).

Атрибуты

Комментарии

Используйте метод для GetExceptionForHR получения на Exception основе HRESULT без вызова 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, или null, если значение HRESULT не представляет код ошибки (например, S_OK или S_FALSE).

Атрибуты

Комментарии

GetExceptionForHR Используйте метод для получения Exception на основе HRESULT без вызова ThrowExceptionForHR метода и перехвата исключения (таким образом, чтобы избежать соответствующих издержек производительности). Параметр errorInfo предоставляет дополнительные сведения об ошибке, такие как ее текстовое описание и глобальный уникальный идентификатор (GUID) для интерфейса, который определил ошибку.

Используйте эту перегрузку метода, если у вас есть пользовательские сведения об ошибке, которые необходимо указать в преобразовании.

Сопоставление каждого HRESULT с сопоставимым классом исключений в .NET Framework см. в разделе Практическое руководство. Сопоставление HRESULT и исключений.

См. также раздел

Применяется к