Condividi tramite


SEHException Classe

Definizione

Rappresenta gli 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 classe SEHException gestisce gli errori SEH generati dal codice non gestito, ma che non sono stati mappati a un'altra eccezione di .NET Framework. La classe SEHException corrisponde anche al HRESULTE_FAIL (0x80004005).

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

  • STATUS_NO_MEMORY le eccezioni vengono mappate automaticamente alla classe OutOfMemoryException.

  • STATUS_ACCESS_VIOLATION le eccezioni vengono mappate automaticamente nel modo seguente:

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

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

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

    • Se non è presente alcun legacyNullReferencePolicye l'indirizzo in cui è stato eseguito il tentativo di lettura/scrittura si trova nel codice compilato JIT e nell'area di partizione Null del sistema operativo, l'eccezione viene mappata alla classe NullReferenceException.

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

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

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)
Obsoleti.

Inizializza una nuova istanza della classe SEHException dai 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 di questa eccezione.

Proprietà

Data

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

(Ereditato da Exception)
ErrorCode

Ottiene il HRESULT dell'errore.

(Ereditato da ExternalException)
HelpLink

Ottiene o imposta un collegamento al file della Guida associato a questa eccezione.

(Ereditato da Exception)
HResult

Ottiene o imposta HRESULT, valore numerico codificato 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'applicazione o dell'oggetto che causa l'errore.

(Ereditato da Exception)
StackTrace

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

(Ereditato da Exception)
TargetSite

Ottiene il metodo che genera l'eccezione corrente.

(Ereditato da Exception)

Metodi

CanResume()

Indica se è possibile recuperare l'eccezione da e se il codice può continuare dal punto in cui è stata generata l'eccezione.

Equals(Object)

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

(Ereditato da Object)
GetBaseException()

Quando sottoposto a override in una classe derivata, restituisce il Exception che rappresenta la causa radice di una o più eccezioni successive.

(Ereditato da Exception)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleti.

In caso di override in una classe derivata, imposta il SerializationInfo con informazioni sull'eccezione.

(Ereditato da Exception)
GetType()

Ottiene il tipo di runtime dell'istanza corrente.

(Ereditato da Exception)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

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

(Ereditato da Exception)
ToString()

Restituisce una stringa che contiene il valore HRESULT dell'errore.

(Ereditato da ExternalException)

Eventi

SerializeObjectState
Obsoleti.

Si verifica quando viene serializzata un'eccezione per creare un oggetto stato dell'eccezione contenente dati serializzati sull'eccezione.

(Ereditato da Exception)

Si applica a

Vedi anche