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
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
[<System.Serializable>]
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SEHException = class
    inherit ExternalException
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 SEHException classe corrisponde anche a HRESULTE_FAIL (0x80004005).

.NET 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 OutOfMemoryException classe .

  • STATUS_ACCESS_VIOLATION Le eccezioni vengono mappate automaticamente nel modo seguente:

    • 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 si trova nel codice compilato da JIT, l'eccezione viene mappata alla AccessViolationException classe .
    • 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 AccessViolationException classe .
    • Se non legacyNullReferencePolicyè presente alcun oggetto 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 Null del sistema operativo, 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

Nome Descrizione
SEHException()

Inizializza una nuova istanza della classe SEHException.

SEHException(SerializationInfo, StreamingContext)

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

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.

SEHException(String)

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

Proprietà

Nome Descrizione
Data

Ottiene una raccolta di coppie chiave/valore che forniscono informazioni aggiuntive definite dall'utente 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 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 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

Nome Descrizione
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 l'oggetto 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)

In caso di override in una classe derivata, imposta con le SerializationInfo 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

Nome Descrizione
SerializeObjectState

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