Udostępnij za pośrednictwem


Marshal.GetHRForException(Exception) Metoda

Definicja

Konwertuje określony wyjątek na 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

Parametry

e
Exception

Wyjątek do konwersji na HRESULT.

Zwraca

HrESULT zamapowany na podany wyjątek.

Atrybuty

Uwagi

GetHRForException Konfiguruje również interfejs IErrorInfo dla wyjątku, który można uzyskać przez wywołanie funkcji COM GetErrorInfoNEEDGUID. Za pomocą tej funkcji można zwrócić wartość HRESULT w implementacji klasy zarządzanej interfejsu PreserveSigAttribute COM, w którym jest stosowany atrybut. Aby metoda przypisana przechwyciła wszystkie wyjątki i użyj GetHRForException metody , aby zwrócić odpowiednią wartość HRESULT. Zezwalanie na propagację wyjątku poza metodą powoduje nieprawidłowe zachowanie. (W rzeczywistości środowisko uruchomieniowe języka wspólnego nie przekazuje wyjątku do klienta COM, który wywołuje taką metodę za pośrednictwem tabeli v-table).

Należy pamiętać, że GetHRForException metoda ustawia interfejs IErrorInfo bieżącego wątku. Może to spowodować nieoczekiwane wyniki dla metod, takich jak ThrowExceptionForHR metody, które domyślnie używają IErrorInfo bieżącego wątku, jeśli jest ustawiona.

Dotyczy

Zobacz też