SEHException Classe

Definizione

Rappresenta errori SEH (Structured Exception Handling).

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
Ereditarietà
SEHException
Ereditarietà
Attributi

Commenti

La SEHException classe gestisce gli errori SEH generati dal codice non gestito, ma che non sono stati mappati a un'altra eccezione .NET Framework. La SEHException classe corrisponde anche a HRESULT E_FAIL (0x80004005).

Il .NET Framework spesso rileva eccezioni SEH non gestite mappate automaticamente a equivalenti gestiti. Esistono due eccezioni SEH non gestite comuni:

  • STATUS_NO_MEMORY le eccezioni vengono mappate automaticamente alla OutOfMemoryException classe .

  • STATUS_ACCESS_VIOLATION Le eccezioni vengono mappate automaticamente come indicato di seguito:

    • Se legacyNullReferencePolicy viene applicato, viene eseguito il mapping di tutte le violazioni di accesso alla NullReferenceException classe .

    • Se l'indirizzo in cui è stato tentato il tentativo di lettura/scrittura non è incluso nel codice compilato da JIT, viene eseguito il mapping dell'eccezione alla AccessViolationException classe .

    • Se l'indirizzo in cui è stato tentato il tentativo di lettura/scrittura si trova nel codice compilato da JIT, ma non si trova nell'area di partizione Os Null, l'eccezione viene mappata alla AccessViolationException classe .

    • Se non legacyNullReferencePolicyè presente e l'indirizzo in corrispondenza del quale è stato tentato il tentativo di lettura/scrittura si trova nel codice compilato JIT e nell'area di partizione OS Null, l'eccezione viene mappata alla NullReferenceException classe .

Qualsiasi eccezione SEH non mappata automaticamente a un'eccezione specifica viene mappata alla SEHException classe per impostazione predefinita.

Si noti che la SEHException classe non causa la chiamata dei distruttori di eccezioni C++ non gestiti. Per assicurarsi che vengano chiamati distruttori di eccezioni C++ non gestiti, usare la sintassi seguente nel catch blocco .

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

Costruttori

SEHException()

Inizializza una nuova istanza della classe SEHException.

SEHException(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe SEHException da dati di serializzazione.

SEHException(String)

Inizializza una nuova istanza della classe SEHException con un messaggio specificato.

SEHException(String, Exception)

Inizializza una nuova istanza della classe SEHException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.

Proprietà

Data

Ottiene una raccolta di coppie chiave/valore che forniscono informazioni definite dall'utente aggiuntive sull'eccezione.

(Ereditato da Exception)
ErrorCode

Ottiene l'oggetto HRESULT dell'errore.

(Ereditato da ExternalException)
HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.

(Ereditato da Exception)
HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.

(Ereditato da Exception)
InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.

(Ereditato da Exception)
Message

Ottiene un messaggio che descrive l'eccezione corrente.

(Ereditato da Exception)
Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.

(Ereditato da Exception)
StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.

(Ereditato da Exception)
TargetSite

Ottiene il metodo che genera l'eccezione corrente.

(Ereditato da Exception)

Metodi

CanResume()

Indica se l'eccezione può essere recuperata e se è possibile continuare l'esecuzione del codice dal punto in cui è stata generata l'eccezione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetBaseException()

Quando ne viene eseguito l'override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.

(Ereditato da Exception)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Quando ne viene eseguito l'override in una classe derivata, imposta il controllo SerializationInfo con le informazioni sull'eccezione.

(Ereditato da Exception)
GetType()

Ottiene il tipo di runtime dell'istanza corrente.

(Ereditato da Exception)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Crea e restituisce una rappresentazione di stringa dell'eccezione corrente.

(Ereditato da Exception)
ToString()

Restituisce una stringa contenente il valore HRESULT dell'errore.

(Ereditato da ExternalException)

Eventi

SerializeObjectState
Obsoleta.

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.

(Ereditato da Exception)

Si applica a

Vedi anche