SEHException Klasa

Definicja

Reprezentuje błędy strukturalnej obsługi wyjątków (SEH).Represents structured exception handling (SEH) errors.

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.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
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.The SEHException class handles SEH errors that are thrown from unmanaged code, but that have not been mapped to another .NET Framework exception. Klasa SEHException odnosi się również do HRESULT E_FAIL (0x80004005).The SEHException class also corresponds to the HRESULT E_FAIL (0x80004005).

.NET Framework często napotyka niezarządzane wyjątki SEH, które są automatycznie mapowane na zarządzane odpowiedniki.The .NET Framework often encounters unmanaged SEH exceptions that are automatically mapped to managed equivalents. Istnieją dwa typowe wyjątki niezarządzanych SEH:There are two common unmanaged SEH exceptions:

  • wyjątki STATUS_NO_MEMORY są automatycznie mapowane do klasy OutOfMemoryException.STATUS_NO_MEMORY exceptions are automatically mapped to the OutOfMemoryException class.

  • wyjątki STATUS_ACCESS_VIOLATION są automatycznie mapowane w następujący sposób:STATUS_ACCESS_VIOLATION exceptions are automatically mapped as follows:

    • W przypadku zastosowania legacyNullReferencePolicy wszystkie naruszenia zasad dostępu są mapowane do klasy NullReferenceException.If legacyNullReferencePolicy is applied, all access violations are mapped to the NullReferenceException class.

    • Jeśli adres, pod którym podjęto próbę odczytu/zapisu, nie jest w kodzie skompilowanym przez JIT, wyjątek jest mapowany na klasę AccessViolationException.If the address at which the read/write was attempted is not in JIT-compiled code, the exception is mapped to the AccessViolationException class.

    • Jeśli adres, pod którym podjęto próbę odczytu/zapisu, jest w kodzie skompilowanym przez JIT, ale nie znajduje się w obszarze partycji null systemu operacyjnego, wyjątek jest mapowany na klasę AccessViolationException.If the address at which the read/write was attempted is in JIT-compiled code, but it is not in the OS Null partition area, the exception is mapped to the AccessViolationException class.

    • Jeśli nie ma legacyNullReferencePolicyi adres, w którym podjęto próbę odczytu/zapisu, jest w kodzie skompilowanym przez JIT i w obszarze partycji null systemu operacyjnego, wyjątek jest mapowany do klasy NullReferenceException.If there is no legacyNullReferencePolicy, and the address at which the read/write was attempted is in JIT-compiled code and in the OS Null partition area, the exception is mapped to the NullReferenceException class.

Każdy wyjątek SEH, który nie jest automatycznie mapowany do określonego wyjątku jest domyślnie mapowany do klasy SEHException.Any SEH exception that is not automatically mapped to a specific exception is mapped to the SEHException class by default.

Należy zauważyć, że Klasa SEHException nie powoduje wywołania C++ niezarządzanych destruktorów wyjątków.Note that the SEHException class does not cause unmanaged C++ exception destructors to be called. Aby upewnić się C++ , że wywołano destruktory wyjątków niezarządzanych, użyj następującej składni w bloku catch.To ensure that unmanaged C++ exception destructors are called, use the following syntax in the catch block.

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

Konstruktory

SEHException()

Inicjuje nowe wystąpienie klasy SEHException.Initializes a new instance of the SEHException class.

SEHException(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy SEHException z danych serializacji.Initializes a new instance of the SEHException class from serialization data.

SEHException(String)

Inicjuje nowe wystąpienie klasy SEHException z określonym komunikatem.Initializes a new instance of the SEHException class with a specified message.

SEHException(String, Exception)

Inicjuje nowe wystąpienie klasy SEHException z określonym komunikatem o błędzie i odwołaniem do wyjątku wewnętrznego, który jest przyczyną tego wyjątku.Initializes a new instance of the SEHException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Właściwości

Data

Pobiera kolekcję par klucz/wartość, które zawierają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Odziedziczone po Exception)
ErrorCode

Pobiera HRESULT błędu.Gets the HRESULT of the error.

(Odziedziczone po ExternalException)
HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.Gets or sets a link to the help file associated with this exception.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia wartość HRESULT, kodowane wartości liczbowe przypisane do określonego wyjątku.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Odziedziczone po Exception)
InnerException

Pobiera wystąpienie Exception, które spowodowało wyjątek bieżący.Gets the Exception instance that caused the current exception.

(Odziedziczone po Exception)
Message

Pobiera komunikat, który opisuje bieżący wyjątek.Gets a message that describes the current exception.

(Odziedziczone po Exception)
Source

Pobiera lub ustawia nazwę aplikacji lub obiekt, który powoduje błąd.Gets or sets the name of the application or the object that causes the error.

(Odziedziczone po Exception)
StackTrace

Pobiera ciąg reprezentujący bezpośrednie ramki w stosie wywołań.Gets a string representation of the immediate frames on the call stack.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.Gets the method that throws the current exception.

(Odziedziczone po Exception)

Metody

CanResume()

Wskazuje, czy wyjątek może zostać odzyskany i czy kod może być kontynuowany od punktu, w którym został zgłoszony wyjątek.Indicates whether the exception can be recovered from, and whether the code can continue from the point at which the exception was thrown.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetBaseException()

Gdy jest zastępowany w klasie pochodnej, zwraca Exception, który jest główną przyczyną jednego lub kilku kolejnych wyjątków.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Gdy jest zastępowany w klasie pochodnej, ustawia SerializationInfo z informacjami o wyjątku.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Odziedziczone po Exception)
GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.Gets the runtime type of the current instance.

(Odziedziczone po Exception)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który zawiera wartość HRESULT błędu.Returns a string that contains the HRESULT of the error.

(Odziedziczone po ExternalException)

Zdarzenia

SerializeObjectState

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku, który zawiera serializowane dane dotyczące wyjątku.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Odziedziczone po Exception)

Dotyczy

Zobacz też