Sdílet prostřednictvím


SEHException Třída

Definice

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
SEHException
Dědičnost
Atributy

Poznámky

Třída SEHException zpracovává chyby SEH, které jsou vyvolány z nespravovaného kódu, ale nebyly namapovány na jinou výjimku rozhraní .NET Framework. Třída SEHException také odpovídá HRESULTE_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 třídu OutOfMemoryException.

  • STATUS_ACCESS_VIOLATION výjimky se automaticky mapují následujícím způsobem:

    • Pokud se použije legacyNullReferencePolicy, jsou všechna porušení přístupu mapována na třídu NullReferenceException.

    • Pokud adresa, na které došlo k pokusu o čtení/zápis, není v kódu kompilovaném JIT, je výjimka namapována na AccessViolationException třídu.

    • Pokud je adresa, na které došlo k pokusu o čtení a zápis, v kompilovaném kódu JIT, ale není v oblasti oddílu OS Null, je výjimka namapována na AccessViolationException třídu.

    • Pokud neexistuje žádná legacyNullReferencePolicya adresa, na které došlo k pokusu o čtení a zápis, je v kódu kompilovaném JIT a v oblasti oddílu OS Null, výjimka je namapována na třídu NullReferenceException.

Jakákoli výjimka SEH, která není automaticky namapována na konkrétní výjimku, je ve výchozím nastavení mapována na třídu SEHException.

Všimněte si, že SEHException třída nezpůsobuje, že nespravované destruktory výjimek C++ budou volána. Pokud chcete zajistit, aby se volaly nespravované destruktory výjimek C++, použijte následující syntaxi v bloku catch.

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 třídy SEHException z dat serializace.

SEHException(String)

Inicializuje novou instanci třídy SEHException 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

Získá HRESULT chyby.

(Zděděno od ExternalException)
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ódovanou číselnou hodnotu, která je přiřazena ke konkrétní výjimce.

(Zděděno od Exception)
InnerException

Získá Exception 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ězcové znázornění 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 a zda kód může pokračovat od okamžiku, kdy byla výjimka vyvolána.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetBaseException()

Při přepsání v odvozené třídě vrátí Exception, která je hlavní příčinou jedné nebo více následných výjimek.

(Zděděno od Exception)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Při přepsání v odvozené třídě nastaví SerializationInfo s 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 Object.

(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 HRESULT chyby.

(Zděděno od ExternalException)

Událost

SerializeObjectState
Zastaralé.

Nastane, když je výjimka serializována vytvořit objekt stavu výjimky, který obsahuje serializovaná data o výjimce.

(Zděděno od Exception)

Platí pro

Viz také