SEHException Classe

Definizione

Rappresenta errori SEH (Structured Exception Handling).Represents structured exception handling (SEH) errors.

public ref class SEHException : System::Runtime::InteropServices::ExternalException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit ExternalException
Public Class SEHException
Inherits ExternalException
Ereditarietà
Attributi

Commenti

La classe SEHException gestisce gli errori SEH generati da codice non gestito, ma di cui non è stato eseguito il mapping a un'altra .NET Framework eccezione.The SEHException class handles SEH errors that are thrown from unmanaged code, but that have not been mapped to another .NET Framework exception. La classe SEHException corrisponde anche al HRESULT E_FAIL (0x80004005).The SEHException class also corresponds to the HRESULT E_FAIL (0x80004005).

Il .NET Framework spesso rileva eccezioni SEH non gestite mappate automaticamente agli equivalenti gestiti.The .NET Framework often encounters unmanaged SEH exceptions that are automatically mapped to managed equivalents. Sono presenti due eccezioni SEH non gestite comuni:There are two common unmanaged SEH exceptions:

  • viene automaticamente eseguito il mapping delle eccezioni STATUS_NO_MEMORY alla classe OutOfMemoryException.STATUS_NO_MEMORY exceptions are automatically mapped to the OutOfMemoryException class.

  • le eccezioni STATUS_ACCESS_VIOLATION vengono mappate automaticamente nel modo seguente:STATUS_ACCESS_VIOLATION exceptions are automatically mapped as follows:

    • Se viene applicato legacyNullReferencePolicy, viene eseguito il mapping di tutte le violazioni di accesso alla classe NullReferenceException.If legacyNullReferencePolicy is applied, all access violations are mapped to the NullReferenceException class.

    • Se l'indirizzo in cui è stato effettuato il tentativo di lettura/scrittura non è presente nel codice compilato tramite JIT, viene eseguito il mapping dell'eccezione alla classe AccessViolationException.If the address at which the read/write was attempted is not in JIT-compiled code, the exception is mapped to the AccessViolationException class.

    • Se l'indirizzo in cui è stato effettuato il tentativo di lettura/scrittura è nel codice compilato tramite JIT, ma non è presente nell'area della partizione null del sistema operativo, viene eseguito il mapping dell'eccezione alla classe AccessViolationException.If the address at which the read/write was attempted is in JIT-compiled code, but it is not in the OS Null partition area, the exception is mapped to the AccessViolationException class.

    • Se non è presente alcun legacyNullReferencePolicy e l'indirizzo in cui è stato effettuato il tentativo di lettura/scrittura è nel codice compilato in modalità JIT e nell'area della partizione null del sistema operativo, viene eseguito il mapping dell'eccezione alla classe NullReferenceException.If there is no legacyNullReferencePolicy, and the address at which the read/write was attempted is in JIT-compiled code and in the OS Null partition area, the exception is mapped to the NullReferenceException class.

Per impostazione predefinita, qualsiasi eccezione SEH che non viene mappata automaticamente a un'eccezione specifica viene mappata alla classe SEHException.Any SEH exception that is not automatically mapped to a specific exception is mapped to the SEHException class by default.

Si noti che la classe SEHException non provoca la chiamata ai C++ distruttori di eccezioni non gestite.Note that the SEHException class does not cause unmanaged C++ exception destructors to be called. Per assicurarsi che i distruttori C++ di eccezioni non gestite vengano chiamati, usare la sintassi seguente nel blocco catch.To ensure that unmanaged C++ exception destructors are called, use the following syntax in the catch block.

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

Costruttori

SEHException()

Inizializza una nuova istanza della classe SEHException.Initializes a new instance of the SEHException class.

SEHException(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe SEHException da dati di serializzazione.Initializes a new instance of the SEHException class from serialization data.

SEHException(String)

Inizializza una nuova istanza della classe SEHException con un messaggio specificato.Initializes a new instance of the SEHException class with a specified message.

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.Initializes a new instance of the SEHException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Proprietà

Data

Ottiene una raccolta di coppie chiave-valore che fornisce informazioni aggiuntive definite dall'utente relative all'eccezione.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Ereditato da Exception)
ErrorCode

Ottiene l'oggetto HRESULT dell'errore.Gets the HRESULT of the error.

(Ereditato da ExternalException)
HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.Gets or sets a link to the help file associated with this exception.

(Ereditato da Exception)
HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Ereditato da Exception)
InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.Gets the Exception instance that caused the current exception.

(Ereditato da Exception)
Message

Ottiene un messaggio che descrive l'eccezione corrente.Gets a message that describes the current exception.

(Ereditato da Exception)
Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.Gets or sets the name of the application or the object that causes the error.

(Ereditato da Exception)
StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.Gets a string representation of the immediate frames on the call stack.

(Ereditato da Exception)
TargetSite

Ottiene il metodo che genera l'eccezione corrente.Gets the method that throws the current exception.

(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.Indicates whether the exception can be recovered from, and whether the code can continue from the point at which the exception was thrown.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetBaseException()

Se utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Ereditato da Exception)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Quando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Ereditato da Exception)
GetType()

Ottiene il tipo di runtime dell'istanza corrente.Gets the runtime type of the current instance.

(Ereditato da Exception)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa contenente il valore HRESULT dell'errore.Returns a string that contains the HRESULT of the error.

(Ereditato da ExternalException)

Eventi

SerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Ereditato da Exception)

Si applica a

Vedi anche