Partager via


SEHException Classe

Définition

Représente les erreurs de gestion des exceptions structurées (SEH).

public ref class SEHException : Exception
public ref class SEHException : System::Runtime::InteropServices::ExternalException
public class SEHException : Exception
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SEHException = class
    inherit ExternalException
Public Class SEHException
Inherits Exception
Public Class SEHException
Inherits ExternalException
Héritage
SEHException
Héritage
Attributs

Remarques

La classe SEHException gère les erreurs SEH levées à partir du code non managé, mais qui n’ont pas été mappées à une autre exception .NET Framework. La classe SEHException correspond également au HRESULTE_FAIL (0x80004005).

Le .NET Framework rencontre souvent des exceptions SEH non managées qui sont automatiquement mappées à des équivalents managés. Il existe deux exceptions SEH non managées courantes :

  • STATUS_NO_MEMORY exceptions sont automatiquement mappées à la classe OutOfMemoryException.

  • STATUS_ACCESS_VIOLATION exceptions sont automatiquement mappées comme suit :

    • Si legacyNullReferencePolicy est appliquée, toutes les violations d’accès sont mappées à la classe NullReferenceException.

    • Si l’adresse à laquelle la lecture/écriture a été tentée n’est pas dans le code compilé par JIT, l’exception est mappée à la classe AccessViolationException.

    • Si l’adresse à laquelle la lecture/écriture a été tentée est dans le code compilé par JIT, mais qu’elle n’est pas dans la zone de partition Null du système d’exploitation, l’exception est mappée à la classe AccessViolationException.

    • S’il n’existe aucun legacyNullReferencePolicyet que l’adresse à laquelle la lecture/écriture a été tentée est dans le code compilé par JIT et dans la zone de partition Null du système d’exploitation, l’exception est mappée à la classe NullReferenceException.

Toute exception SEH qui n’est pas automatiquement mappée à une exception spécifique est mappée à la classe SEHException par défaut.

Notez que la classe SEHException n’entraîne pas l’appel de destructeurs d’exceptions C++ non managés. Pour vous assurer que les destructeurs d’exceptions C++ non managés sont appelés, utilisez la syntaxe suivante dans le bloc catch.

Catch
     ' Handle catch here.
End Try
catch
{
     // Handle catch here.
}
catch(…)
{
     // Handle catch here.
}

Constructeurs

SEHException()

Initialise une nouvelle instance de la classe SEHException.

SEHException(SerializationInfo, StreamingContext)
Obsolète.

Initialise une nouvelle instance de la classe SEHException à partir des données de sérialisation.

SEHException(String)

Initialise une nouvelle instance de la classe SEHException avec un message spécifié.

SEHException(String, Exception)

Initialise une nouvelle instance de la classe SEHException avec un message d’erreur spécifié et une référence à l’exception interne qui est la cause de cette exception.

Propriétés

Data

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception.

(Hérité de Exception)
ErrorCode

Obtient la HRESULT de l’erreur.

(Hérité de ExternalException)
HelpLink

Obtient ou définit un lien vers le fichier d’aide associé à cette exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée affectée à une exception spécifique.

(Hérité de Exception)
InnerException

Obtient l’instance Exception qui a provoqué l’exception actuelle.

(Hérité de Exception)
Message

Obtient un message qui décrit l’exception actuelle.

(Hérité de Exception)
Source

Obtient ou définit le nom de l’application ou de l’objet qui provoque l’erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des images immédiates sur la pile des appels.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l’exception actuelle.

(Hérité de Exception)

Méthodes

CanResume()

Indique si l’exception peut être récupérée et si le code peut continuer à partir du point auquel l’exception a été levée.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception qui est la cause racine d’une ou plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsolète.

En cas de substitution dans une classe dérivée, définit l'SerializationInfo avec des informations sur l’exception.

(Hérité de Exception)
GetType()

Obtient le type d’exécution de l’instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Crée et retourne une représentation sous forme de chaîne de l’exception actuelle.

(Hérité de Exception)
ToString()

Retourne une chaîne qui contient le HRESULT de l’erreur.

(Hérité de ExternalException)

Événements

SerializeObjectState
Obsolète.

Se produit lorsqu’une exception est sérialisée pour créer un objet d’état d’exception qui contient des données sérialisées sur l’exception.

(Hérité de Exception)

S’applique à

Voir aussi