System.AccessViolationException 类

上一篇:System._AppDomain 类 下一篇:System.Action 类

方法描述

在尝试读写受保护内存时引发的异常。

语法定义(C# System.AccessViolationException 类 的用法)

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

构造函数

构造函数名称 构造函数描述
AccessViolationException() 使用由系统提供的用来描述错误的消息初始化 AccessViolationException 类的新实例。
AccessViolationException(String) 使用描述错误的指定消息初始化 AccessViolationException 类的新实例。
AccessViolationException(SerializationInfo, StreamingContext) 用序列化数据初始化 AccessViolationException 类的新实例。
AccessViolationException(String, Exception) 使用指定错误信息和对作为此异常原因的内部异常的引用来初始化 AccessViolationException 类的新实例。

成员/方法

方法名称 方法描述
Equals(Object) 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
GetBaseException 当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根源。 (继承自 Exception。)
GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
GetObjectData 当在派生类中重写时,用关于异常的信息设置 SerializationInfo。 (继承自 Exception。)
GetType 获取当前实例的运行时类型。 (继承自 Exception。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
ToString 创建并返回当前异常的字符串表示形式。 (继承自 Exception。)

提示和注释

当非托管或不安全代码尝试读写未分配或不具有访问权限的内存空间时,就会产生访问冲突。 这种情况通常因为指针具有错误的值而发生。 并非所有通过错误指针的读写操作都会引发访问冲突,所以访问冲突通常指示已经通过错误指针进行多次读写操作,并且内存内容可能已损坏。 因此,访问冲突几乎总是指示存在严重的编程错误。 在 .NET Framework 2.0 版中,AccessViolationException 清楚地标识了这些错误。

在完全由可验证托管代码组成的程序中,所有引用都有效或者为空,因而不会产生访问冲突。 AccessViolationException 只在可验证托管代码与非托管代码或非安全托管代码交互时才会引发。

版本信息

此异常是 .NET Framework 2.0 版中新增的异常。 在 .NET Framework 较早版本中,非托管代码或非安全托管代码中的访问冲突用托管代码中的 NullReferenceException 表示。 当在可验证托管代码中取消空引用时,也会引发 NullReferenceException,这种情况的引发与数据损坏无关,且在 1.0 版或 1.1 版中无法区分这两种情况。

管理员可以允许所选择的应用程序恢复为 .NET Framework 1.1 版的行为。 将下一行置于应用程序配置文件的 元素 节中:

复制

System.AccessViolationException 类例子


继承层次结构

System.Object

System.Exception

System.SystemException

System.AccessViolationException

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。

上一篇:System._AppDomain 类 下一篇:System.Action 类