Condividi tramite


Marshal.GetHRForException(Exception) Metodo

Definizione

Converte l'eccezione specificata in valore 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

Parametri

e
Exception

Eccezione da convertire in valore HRESULT.

Restituisce

Valore HRESULT mappato all'eccezione fornita.

Attributi

Commenti

GetHRForException configura anche un'interfaccia IErrorInfo per l'eccezione che può essere ottenuta chiamando la funzione COM GetErrorInfoNEEDGUID. È possibile usare questa funzione per restituire un valore HRESULT in un'implementazione della classe gestita di un'interfaccia COM in cui si applica l'attributo PreserveSigAttribute . Il metodo con attributi rileva tutte le eccezioni e usa il metodo per restituire il GetHRForException valore HRESULT appropriato. Consentire la propagazione di un'eccezione all'esterno del metodo genera un comportamento non corretto. In effetti, Common Language Runtime non riesce a passare un'eccezione a un client COM che chiama tale metodo tramite una v-table.

Si noti che il GetHRForException metodo imposta l'interfaccia IErrorInfo del thread corrente. Ciò può causare risultati imprevisti per i metodi come i ThrowExceptionForHR metodi che per impostazione predefinita usano IErrorInfo del thread corrente se è impostato.

Si applica a

Vedi anche