Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe AccessViolationException

Eccezione generata quando viene effettuato un tentativo di leggere o scrivere in un'area di memoria protetta.

System.Object
  System.Exception
    System.SystemException
      System.AccessViolationException

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class AccessViolationException : SystemException

Il tipo AccessViolationException espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoAccessViolationException()Inizializza una nuova istanza della classe AccessViolationException con un messaggio fornito dal sistema in cui viene descritto l'errore.
Metodo pubblicoAccessViolationException(String)Inizializza una nuova istanza della classe AccessViolationException con un messaggio specifico in cui viene descritto l'errore.
Metodo protettoAccessViolationException(SerializationInfo, StreamingContext)Inizializza una nuova istanza della classe AccessViolationException con dati serializzati.
Metodo pubblicoAccessViolationException(String, Exception)Consente l'inizializzazione di una nuova istanza della classe AccessViolationException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.
In alto

  NomeDescrizione
Proprietà pubblicaData Ottiene una collezione di coppie chiave/valore che forniscono ulteriori informazioni definite dall'utente sull'eccezione. (Ereditato da Exception)
Proprietà pubblicaHelpLinkOttiene o imposta un collegamento al file della Guida associato all'eccezione. (Ereditato da Exception)
Proprietà pubblicaHResult Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato ad una specifica eccezione. (Ereditato da Exception)
Proprietà pubblicaInnerExceptionOttiene l'istanza di Exception che ha causato l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaMessageOttiene un messaggio che descrive l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSourceOttiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore. (Ereditato da Exception)
Proprietà pubblicaStackTrace Ottiene una rappresentazione in forma di stringa dei frame nello stack di chiamate. (Ereditato da Exception)
Proprietà pubblicaTargetSite Ottiene il metodo che ha generato l'eccezione corrente. (Ereditato da Exception)
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetBaseException Quando sottoposto a override in una classe derivata, restituisce l'Exception che è la causa principale di una o più eccezioni successive. (Ereditato da Exception)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetObjectDataQuando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna. (Ereditato da Exception)
Metodo pubblicoGetTypeOttiene il tipo di runtime dell'istanza corrente. (Ereditato da Exception)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToStringCrea e restituisce una rappresentazione in forma di stringa della corrente eccezione. (Ereditato da Exception)
In alto

  NomeDescrizione
Evento protettoSerializeObjectStateSi verifica quando un'eccezione viene serializzata per creare un oggetto stato di eccezione che contiene dati serializzati sull'eccezione. (Ereditato da Exception)
In alto

Una violazione di accesso si riscontra all'interno di un codice non gestito o unsafe in caso di tentativo del codice di leggere o scrivere una memoria non allocata o a cui non ha accesso. La situazione descritta si verifica a causa del valore non corretto di un puntatore. Poiché non tutte le operazioni di lettura o scrittura tramite puntatori non validi generano violazioni di accesso, quando si verifica una violazione di accesso in genere significa che sono state eseguite numerose operazioni di lettura o scrittura tramite puntatori non validi e che la memoria potrebbe essere danneggiata. In ogni caso, le violazioni di accesso quasi sempre indicano errori gravi di programmazione. AccessViolationException identificare chiaramente questi errori seri.

All'interno di programmi costituiti interamente di codice gestito verificabile, tutti i riferimenti devono essere necessariamente validi o null, di conseguenza non possono verificarsi violazioni di accesso. Un oggetto AccessViolationException viene generato solo quando esiste un'interazione del codice gestito verificabile con il codice non gestito o con il codice gestito unsafe.

A partire da .NET Framework 4, le eccezioni di AccessViolationException generate da Common Language Runtime non vengono gestite dall'istruzione di catch in un gestore di eccezioni strutturato se l'eccezione si verifica all'esterno della memoria riservata da Common Language Runtime. Per gestire tale eccezione di AccessViolationException, è necessario applicare l'attributo di HandleProcessCorruptedStateExceptionsAttribute al metodo in cui vengono generate le eccezioni. Questa modifica non influisce sulle eccezioni di AccessViolationException generate dal codice utente, che può continuare a essere rilevato da un'istruzione di catch. Per il codice scritto per le versioni precedenti di .NET Framework che si desidera ricompilare ed eseguire senza modifica su .NET Framework 4, è possibile aggiungere l'elemento di <legacyCorruptedStateExceptionsPolicy> al file di configurazione dell'applicazione. Si noti che è possibile ricevere la notifica delle eccezioni se è stato definito un gestore per l'evento di AppDomain.UnhandledException o di AppDomain.FirstChanceException.

Informazioni sulla versione

Questa eccezione viene generata in.NET Framework 2.0 e versioni successive. Nelle versioni precedenti di .NET Framework una violazione di accesso all'interno di codice non gestito o di codice gestito unsafe è rappresentata da un oggetto NullReferenceException nel codice gestito. Un oggetto NullReferenceException viene inoltre generato in caso di dereferenziazione di null all'interno di un codice gestito verificabile, che non implica comunque un danneggiamento dei dati, senza possibilità di distinguere tra le due situazioni nelle versioni 1.0 o 1.1.

Gli amministratori possono ripristinare per le applicazioni selezionate il comportamento di .NET Framework versione 1.1. Inserire la riga seguente nella sezione Elemento <runtime> del file di configurazione dell'applicazione:

<legacyNullReferenceExceptionPolicy enabled = "1"/>

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft