SEHException Klasa

Definicja

Reprezentuje błędy obsługi wyjątków strukturalnych (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
Dziedziczenie
SEHException
Dziedziczenie
Atrybuty

Uwagi

Klasa SEHException obsługuje błędy SEH, które są zgłaszane z niezarządzanego kodu, ale nie zostały zamapowane na inny wyjątek .NET Framework. Klasa SEHException odpowiada HRESULTE_FAIL również (0x80004005).

.NET Framework często napotyka niezarządzane wyjątki SEH, które są automatycznie mapowane na zarządzane odpowiedniki. Istnieją dwa typowe niezarządzane wyjątki SEH:

  • STATUS_NO_MEMORY wyjątki są automatycznie mapowane na klasę OutOfMemoryException .

  • STATUS_ACCESS_VIOLATION wyjątki są automatycznie mapowane w następujący sposób:

    • W przypadku legacyNullReferencePolicy zastosowania wszystkie naruszenia dostępu są mapowane na klasę NullReferenceException .

    • Jeśli adres, pod którym podjęto próbę odczytu/zapisu, nie znajduje się w kodzie skompilowanym w trybie JIT, wyjątek jest mapowany na klasę AccessViolationException .

    • Jeśli adres, pod którym podjęto próbę odczytu/zapisu, znajduje się w kodzie skompilowanym JIT, ale nie znajduje się w obszarze partycji Null systemu operacyjnego, wyjątek jest mapowany na klasę AccessViolationException .

    • Jeśli nie legacyNullReferencePolicyma wartości , a adres, pod którym podjęto próbę odczytu/zapisu, znajduje się w kodzie skompilowanym JIT i w obszarze partycji Null systemu operacyjnego, wyjątek jest mapowany na klasę NullReferenceException .

Każdy wyjątek SEH, który nie jest automatycznie mapowany na określony wyjątek, jest domyślnie mapowany na klasę SEHException .

Należy pamiętać, że SEHException klasa nie powoduje wywołania niezarządzanych destruktora wyjątków języka C++. Aby upewnić się, że są wywoływane niezarządzane destruktory wyjątków języka C++, użyj następującej catch składni w bloku.

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

Konstruktory

SEHException()

Inicjuje nowe wystąpienie klasy SEHException.

SEHException(SerializationInfo, StreamingContext)

Inicjuje SEHException nowe wystąpienie klasy z danych serializacji.

SEHException(String)

Inicjuje SEHException nowe wystąpienie klasy z określonym komunikatem.

SEHException(String, Exception)

Inicjuje nowe wystąpienie SEHException klasy z określonym komunikatem o błędzie i odwołaniem do wyjątku wewnętrznego, który jest przyczyną tego wyjątku.

Właściwości

Data

Pobiera kolekcję par klucz/wartość, które zapewniają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.

(Odziedziczone po Exception)
ErrorCode

HRESULT Pobiera błąd.

(Odziedziczone po ExternalException)
HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia HRESULT, zakodowaną wartość liczbową przypisaną do określonego wyjątku.

(Odziedziczone po Exception)
InnerException

Exception Pobiera wystąpienie, które spowodowało bieżący wyjątek.

(Odziedziczone po Exception)
Message

Pobiera komunikat opisujący bieżący wyjątek.

(Odziedziczone po Exception)
Source

Pobiera lub ustawia nazwę aplikacji lub obiektu, który powoduje błąd.

(Odziedziczone po Exception)
StackTrace

Pobiera reprezentację ciągu natychmiastowych ramek na stosie wywołań.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.

(Odziedziczone po Exception)

Metody

CanResume()

Wskazuje, czy wyjątek można odzyskać od i czy kod może być kontynuowany od momentu zgłoszenia wyjątku.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetBaseException()

Po przesłonięciu w klasie pochodnej funkcja zwraca Exception główną przyczynę co najmniej jednego kolejnego wyjątku.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Po zastąpieniu w klasie pochodnej ustawia SerializationInfo element z informacjami o wyjątku.

(Odziedziczone po Exception)
GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.

(Odziedziczone po Exception)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Tworzy i zwraca reprezentację ciągu bieżącego wyjątku.

(Odziedziczone po Exception)
ToString()

Zwraca ciąg zawierający wartość HRESULT błędu.

(Odziedziczone po ExternalException)

Zdarzenia

SerializeObjectState
Przestarzałe.

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku, który zawiera serializowane dane dotyczące wyjątku.

(Odziedziczone po Exception)

Dotyczy

Zobacz też