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ány z nespravovaného kódu, ale nebyly namapovány na jinou výjimku .NET Framework. Třída SEHException také odpovídá HRESULTE_FAIL (0x80004005).
.NET č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_MEMORYvýjimky se automaticky mapují na OutOfMemoryException třídu.STATUS_ACCESS_VIOLATIONVýjimky se automaticky mapují následujícím způsobem:- Pokud
legacyNullReferencePolicyje použita, jsou všechna porušení přístupu mapována na NullReferenceException třídu. - 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 se adresa, na které byl pokus o čtení a zápis pokusil, je v kódu kompilovaném JIT, ale není v oblasti oddílu OS Null, je výjimka namapována na AccessViolationException třídu.
- Pokud není k dispozici žádná
legacyNullReferencePolicyadresa a adresa, na které byl pokus o čtení/zápis, je v jit-kompilovaném kódu a v oblasti oddílu OS Null, výjimka je namapována na NullReferenceException třídu.
- Pokud
Všechny výjimky SEH, které nejsou automaticky mapovány na konkrétní výjimku, se ve výchozím nastavení mapují na SEHException třídu.
Všimněte si, že třída nezpůsobí, že SEHException 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 catch bloku.
Catch
' Handle catch here.
End Try
catch
{
// Handle catch here.
}
catch(…)
{
// Handle catch here.
}
Konstruktory
| Name | Description |
|---|---|
| SEHException() |
Inicializuje novou instanci SEHException třídy. |
| SEHException(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci SEHException třídy z serializace dat. |
| 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. |
| SEHException(String) |
Inicializuje novou instanci SEHException třídy se zadanou zprávou. |
Vlastnosti
| Name | Description |
|---|---|
| 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ódovanou číselnou hodnotu, 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ě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
| Name | Description |
|---|---|
| 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 to, že je původní 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
| Name | Description |
|---|---|
| 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) |