SEHException Classe

Définition

Représente des erreurs SEH (Structured Exception Handling).

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 SEHException classe 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 SEHException classe 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 les exceptions sont automatiquement mappées à la OutOfMemoryException classe .

  • STATUS_ACCESS_VIOLATION les exceptions sont automatiquement mappées comme suit :

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

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

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

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

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

Notez que la SEHException classe ne provoque pas l’appel des destructeurs d’exception C++ non managés. Pour vous assurer que des destructeurs d’exception C++ non managés sont appelés, utilisez la syntaxe suivante dans le catch bloc.

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)

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

SEHException(String)

Initialise une nouvelle instance de la classe SEHException avec le 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 ayant provoqué cette exception.

Propriétés

Data

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

(Hérité de Exception)
ErrorCode

Obtient le 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 qui est assigné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 active.

(Hérité de Exception)
Source

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des frames immédiats 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 est récupérable et si l'exécution du code peut se poursuivre à partir de l'emplacement où 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 à l'origine d'une ou de plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

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

(Hérité de Exception)
GetType()

Obtient le type au moment de l'exécution de l'instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Crée et retourne une chaîne représentant 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 quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception.

(Hérité de Exception)

S’applique à

Voir aussi