Partager via


Marshal.ThrowExceptionForHR Méthode

Définition

Lève une exception avec une valeur HRESULT d'échec spécifique.

Surcharges

ThrowExceptionForHR(Int32)

Lève une exception avec une valeur HRESULT d'échec spécifique.

ThrowExceptionForHR(Int32, IntPtr)

Lève une exception avec un HRESULT d’échec spécifique, en fonction de l’interface IErrorInfo spécifiée.

ThrowExceptionForHR(Int32)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Lève une exception avec une valeur HRESULT d'échec spécifique.

public:
 static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode);
public static void ThrowExceptionForHR (int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)

Paramètres

errorCode
Int32

HRESULT correspondant à l'exception souhaitée.

Attributs

Remarques

Cette méthode crée un objet d’exception pour l’échec HRESULT spécifié. Si le HRESULT est 0 ou positif (code de réussite), la méthode retourne sans créer ou lever d’exception.

Notez que la ThrowExceptionForHR(Int32) méthode retourne une exception basée sur l’interface IErrorInfo du thread actif, le cas échéant. Dans ce cas, le errorCode paramètre est ignoré.

Certains HRESULT d’échec sont mappés à des exceptions définies, tandis que d’autres ne le font pas. Si le HRESULT mappe à une exception définie, ThrowExceptionForHR crée une instance de l’exception et la lève. Sinon, il crée une instance de COMException, initialise le champ de code d’erreur avec le HRESULT et lève cette exception. Quand ThrowExceptionForHR est appelé, il tente de récupérer des informations supplémentaires concernant l’erreur à l’aide de la fonction GetErrorInfo non managée.

Pour le mappage de chaque HRESULT à sa classe d’exception comparable dans le .NET Framework, consultez Guide pratique pour mapper les HRESULT et exceptions.

Parfois, ThrowExceptionForHR peut renvoyer une exception d’un appel COM précédent. Dans ce cas, vous pouvez utiliser la solution de contournement suivante et passer IntPtr(-1) comme deuxième paramètre () :errorInfo

public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

Voir aussi

S’applique à

ThrowExceptionForHR(Int32, IntPtr)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Lève une exception avec un HRESULT d’échec spécifique, en fonction de l’interface IErrorInfo spécifiée.

public:
 static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int * nativeint -> unit
static member ThrowExceptionForHR : int * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, errorInfo As IntPtr)

Paramètres

errorCode
Int32

HRESULT correspondant à l'exception souhaitée.

errorInfo
IntPtr

nativeint

Pointeur vers l’interface IErrorInfo qui fournit plus d’informations sur l’erreur. Spécifiez IntPtr(0) pour utiliser l’interface IErrorInfo actuelle ou IntPtr(-1) pour ignorer l’interface IErrorInfo actuelle et construire l’exception uniquement à partir du code d’erreur.

Attributs

Remarques

Cette méthode crée un objet d’exception pour l’échec HRESULT spécifié. Si le HRESULT est 0 ou positif (code de réussite), la méthode retourne sans créer ou lever d’exception.

La ThrowExceptionForHR méthode libère le errorInfo paramètre, ce qui diminue le nombre de références COM de l’interface IErrorInfo .

Notez que la ThrowExceptionForHR méthode retourne une exception basée sur l’interface IErrorInfo du thread actif, le cas échéant. Dans ce cas, le errorCode paramètre est ignoré.

Certains HRESULT d’échec sont mappés à des exceptions définies, tandis que d’autres ne le font pas. Si le HRESULT mappe à une exception définie, ThrowExceptionForHR crée une instance de l’exception et la lève. Sinon, il crée une instance de System.Runtime.InteropServices.COMException, initialise le champ de code d’erreur avec le HRESULT et lève cette exception. Le errorInfo paramètre est utilisé pour récupérer des informations supplémentaires concernant l’erreur.

Pour le mappage de chaque HRESULT à sa classe d’exception comparable dans le .NET Framework, consultez Guide pratique pour mapper les HRESULT et exceptions.

Voir aussi

S’applique à