Compartir vía


Marshal.GetHRForException(Exception) Método

Definición

Convierte la excepción especificada en 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

Parámetros

e
Exception

Excepción que se va a convertir en HRESULT.

Devoluciones

HRESULT asignado a la excepción proporcionada.

Atributos

Comentarios

GetHRForException también configura una interfaz IErrorInfo para la excepción que se puede obtener mediante una llamada a la función COM GetErrorInfoNEEDGUID. Puede usar esta función para devolver un valor HRESULT en una implementación de clase administrada de una interfaz COM donde se aplica el PreserveSigAttribute atributo . Haga que el método con atributos detecte todas las excepciones y use el GetHRForException método para devolver el valor HRESULT adecuado. Permitir que una excepción se propague fuera del método genera un comportamiento incorrecto. (De hecho, Common Language Runtime no puede pasar una excepción a un cliente COM que llama a este método a través de una tabla virtual).

Tenga en cuenta que el GetHRForException método establece la interfaz IErrorInfo del subproceso actual. Esto puede provocar resultados inesperados para métodos como los ThrowExceptionForHR métodos que usan de forma predeterminada IErrorInfo del subproceso actual si se establece.

Se aplica a

Consulte también