SEHException Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje chyby strukturovaného zpracování výjimek (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
- Dědičnost
- Dědičnost
- Atributy
Poznámky
Třída SEHException zpracovává chyby SEH, které jsou vyvolána z nespravovaného kódu, ale které nebyly namapovány na jinou výjimku rozhraní .NET Framework. Třída SEHException také odpovídá HRESULT
E_FAIL
(0x80004005).
Rozhraní .NET Framework často dochází k nespravovaným výjimkám SEH, které se automaticky mapují na spravované ekvivalenty. Existují dvě běžné nespravované výjimky SEH:
STATUS_NO_MEMORY
výjimky se automaticky mapují na OutOfMemoryException třídu .STATUS_ACCESS_VIOLATION
Výjimky se automaticky mapují následujícím způsobem:Pokud
legacyNullReferencePolicy
se použije, všechna narušení přístupu se mapují na NullReferenceException třídu .Pokud adresa, na které došlo k pokusu o čtení/zápis, není v kódu zkompilovaném jiT, výjimka se mapuje na AccessViolationException třídu .
Pokud adresa, na které došlo k pokusu o čtení/zápis, je v kódu kompilovaném jit, ale není v oblasti oddílu s hodnotou Null operačního systému, výjimka se namapuje na AccessViolationException třídu .
Pokud neexistuje žádný
legacyNullReferencePolicy
a adresa, na které došlo k pokusu o čtení/zápis, je v kódu zkompilovaném pomocí JIT a v oblasti oddílu s hodnotou Null operačního systému, výjimka se mapuje na NullReferenceException třídu .
Jakákoli výjimka SEH, která není automaticky namapována na konkrétní výjimku, je ve výchozím nastavení mapována na SEHException třídu .
Všimněte si SEHException , že třída nezpůsobí zavolání nespravovaných destruktorů výjimek jazyka C++. Chcete-li zajistit volání nespravovaných destruktorů výjimek jazyka C++, použijte v catch
bloku následující syntaxi.
Catch
' Handle catch here.
End Try
catch
{
// Handle catch here.
}
catch(…)
{
// Handle catch here.
}
Konstruktory
SEHException() |
Inicializuje novou instanci SEHException třídy . |
SEHException(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci SEHException třídy z dat serializace. |
SEHException(String) |
Inicializuje novou instanci SEHException třídy se zadanou zprávou. |
SEHException(String, Exception) |
Inicializuje novou instanci SEHException třídy se zadanou chybovou zprávou a odkazem na vnitřní výjimku, která je příčinou této výjimky. |
Vlastnosti
Data |
Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce. (Zděděno od Exception) |
ErrorCode |
|
HelpLink |
Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce. (Zděděno od Exception) |
HResult |
Získá nebo nastaví HRESULT, kódovaná číselná hodnota, která je přiřazena ke konkrétní výjimce. (Zděděno od Exception) |
InnerException |
Exception Získá instanci, která způsobila aktuální výjimku. (Zděděno od Exception) |
Message |
Získá zprávu, která popisuje aktuální výjimku. (Zděděno od Exception) |
Source |
Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu. (Zděděno od Exception) |
StackTrace |
Získá řetězcovou reprezentaci okamžitých rámců v zásobníku volání. (Zděděno od Exception) |
TargetSite |
Získá metodu, která vyvolá aktuální výjimku. (Zděděno od Exception) |
Metody
CanResume() |
Určuje, zda lze výjimku obnovit z a zda kód může pokračovat od okamžiku, kdy byla výjimka vyvolána. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetBaseException() |
Při přepsání v odvozené třídě vrátí hodnotu Exception , která je původní příčinou jedné nebo více následných výjimek. (Zděděno od Exception) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Při přepsání v odvozené třídě nastaví s SerializationInfo informacemi o výjimce. (Zděděno od Exception) |
GetType() |
Získá typ modulu runtime aktuální instance. (Zděděno od Exception) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky. (Zděděno od Exception) |
ToString() |
Vrátí řetězec, který obsahuje hodnotu HRESULT chyby. (Zděděno od ExternalException) |
Událost
SerializeObjectState |
Zastaralé.
Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce. (Zděděno od Exception) |
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro