Freigeben über


SEHException Klasse

Definition

Stellt Strukturierte Ausnahmebehandlungsfehler (SEH) dar.

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
Vererbung
SEHException
Vererbung
Attribute

Hinweise

Die SEHException-Klasse behandelt SEH-Fehler, die aus nicht verwalteten Code ausgelöst werden, aber nicht einer anderen .NET Framework-Ausnahme zugeordnet wurden. Die SEHException Klasse entspricht auch dem HRESULTE_FAIL (0x80004005).

.NET Framework trifft häufig auf nicht verwaltete SEH-Ausnahmen, die automatisch verwalteten Entsprechungen zugeordnet werden. Es gibt zwei häufige, nicht verwaltete SEH-Ausnahmen:

  • STATUS_NO_MEMORY Ausnahmen werden automatisch der OutOfMemoryException Klasse zugeordnet.

  • STATUS_ACCESS_VIOLATION Ausnahmen werden automatisch wie folgt zugeordnet:

    • Wenn legacyNullReferencePolicy angewendet wird, werden alle Zugriffsverletzungen der NullReferenceException Klasse zugeordnet.

    • Wenn sich die Adresse, an der der Lese-/Schreibzugriff versucht wurde, nicht im JIT-kompilierten Code befindet, wird die Ausnahme der AccessViolationException-Klasse zugeordnet.

    • Wenn sich die Adresse, an der der Lese-/Schreibzugriff versucht wurde, im JIT-kompilierten Code befindet, sich jedoch nicht im Partitionsbereich des Betriebssystems Null befindet, wird die Ausnahme der AccessViolationException-Klasse zugeordnet.

    • Wenn keine legacyNullReferencePolicyvorhanden ist und die Adresse, an der der Lese-/Schreibzugriff versucht wurde, im JIT-kompilierten Code und im Os Null-Partitionsbereich ist die Ausnahme der NullReferenceException-Klasse zugeordnet.

Jede SEH-Ausnahme, die nicht automatisch einer bestimmten Ausnahme zugeordnet wird, wird standardmäßig der SEHException Klasse zugeordnet.

Beachten Sie, dass die SEHException Klasse keine nicht verwalteten C++-Ausnahmedestruktoren aufruft. Um sicherzustellen, dass nicht verwaltete C++-Ausnahmedestruktoren aufgerufen werden, verwenden Sie die folgende Syntax im catch-Block.

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

Konstruktoren

SEHException()

Initialisiert eine neue Instanz der SEHException Klasse.

SEHException(SerializationInfo, StreamingContext)
Veraltet.

Initialisiert eine neue Instanz der SEHException Klasse aus Serialisierungsdaten.

SEHException(String)

Initialisiert eine neue Instanz der SEHException Klasse mit einer angegebenen Nachricht.

SEHException(String, Exception)

Initialisiert eine neue Instanz der SEHException Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die die Ursache dieser Ausnahme ist.

Eigenschaften

Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.

(Geerbt von Exception)
ErrorCode

Ruft den HRESULT des Fehlers ab.

(Geerbt von ExternalException)
HelpLink

Dient zum Abrufen oder Festlegen eines Links zur Hilfedatei, die dieser Ausnahme zugeordnet ist.

(Geerbt von Exception)
HResult

Dient zum Abrufen oder Festlegen von HRESULT, einem codierten numerischen Wert, der einer bestimmten Ausnahme zugewiesen ist.

(Geerbt von Exception)
InnerException

Ruft die Exception Instanz ab, die die aktuelle Ausnahme verursacht hat.

(Geerbt von Exception)
Message

Ruft eine Nachricht ab, die die aktuelle Ausnahme beschreibt.

(Geerbt von Exception)
Source

Dient zum Abrufen oder Festlegen des Namens der Anwendung oder des Objekts, das den Fehler verursacht.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames im Aufrufstapel ab.

(Geerbt von Exception)
TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.

(Geerbt von Exception)

Methoden

CanResume()

Gibt an, ob die Ausnahme wiederhergestellt werden kann und ob der Code von dem Punkt fortgesetzt werden kann, an dem die Ausnahme ausgelöst wurde.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetBaseException()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Exception zurückgegeben, die die Ursache einer oder mehrerer nachfolgenden Ausnahmen ist.

(Geerbt von Exception)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)
Veraltet.

Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird die SerializationInfo mit Informationen zur Ausnahme festgelegt.

(Geerbt von Exception)
GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.

(Geerbt von Exception)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Erstellt und gibt eine Zeichenfolgendarstellung der aktuellen Ausnahme zurück.

(Geerbt von Exception)
ToString()

Gibt eine Zeichenfolge zurück, die das HRESULT des Fehlers enthält.

(Geerbt von ExternalException)

Ereignisse

SerializeObjectState
Veraltet.

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmestatusobjekt zu erstellen, das serialisierte Daten zu der Ausnahme enthält.

(Geerbt von Exception)

Gilt für:

Weitere Informationen