Exporter (0) Imprimer
Développer tout

AccessViolationException, classe

Exception levée lors d'une tentative de lecture ou d'écriture dans la mémoire protégée.

Espace de noms: System
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class AccessViolationException : SystemException
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class AccessViolationException extends SystemException
SerializableAttribute 
ComVisibleAttribute(true) 
public class AccessViolationException extends SystemException
Non applicable.

Une violation d'accès se produit dans du code non managé ou unsafe lorsque le code tente de lire ou d'écrire dans la mémoire non allouée ou à laquelle il n'a pas accès. C'est généralement dû à une valeur incorrecte d'un pointeur. Toutes les lectures ou écritures réalisées par l'intermédiaire de pointeurs incorrects ne provoquent pas de violation d'accès. Par conséquent, une violation d'accès indique habituellement que plusieurs lectures ou écritures ont été effectuées par l'intermédiaire de pointeurs incorrects et que la mémoire peut être endommagée. En d'autres termes, les violations d'accès indiquent presque toujours des erreurs de programmation sérieuses. Dans le .NET Framework version 2.0, AccessViolationException identifie clairement ces erreurs graves.

Dans les programmes reposant entièrement sur du code managé vérifiable, toutes les références sont nulles ou valides et les violations d'accès impossibles. AccessViolationException se produit uniquement en cas d'interaction entre du code managé vérifiable et du code non managé ou du code managé unsafe.

Informations de version

Il s'agit d'une nouvelle exception de la version 2.0 du .NET Framework. Dans les versions antérieures du .NET Framework, une violation d'accès dans du code non managé ou du code managé unsafe est représentée par NullReferenceException dans le code managé. NullReferenceException est également levée en cas de suppression d'une référence null dans du code managé vérifiable, une situation qui n'implique en rien des données endommagées mais il est impossible de les distinguer dans les versions 1.0 ou 1.1.

Les administrateurs peuvent permettre à des applications sélectionnées de rétablir le comportement de la version 1.1 de .NET Framework. Placez la ligne suivante dans la section de l'élément <runtime> du fichier de configuration de l'application :

<legacyNullReferenceExceptionPolicy enabled = "1"/>

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

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft