SEHException Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 HRESULT
E_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
legacyNullReferencePolicy
ma 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 |
|
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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla