System.ArgumentOutOfRangeException 类

方法描述

当参数值超出调用的方法所定义的允许取值范围时引发的异常。

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ArgumentOutOfRangeException : ArgumentException, 
	ISerializable

构造函数

构造函数名称 构造函数描述
ArgumentOutOfRangeException() 初始化 ArgumentOutOfRangeException 类的新实例。
ArgumentOutOfRangeException(String) 使用导致此异常的参数的名称初始化 ArgumentOutOfRangeException 类的新实例。
ArgumentOutOfRangeException(SerializationInfo, StreamingContext) 用序列化数据初始化 ArgumentOutOfRangeException 类的新实例。
ArgumentOutOfRangeException(String, Exception) 使用指定的错误消息和引发此异常的异常初始化 ArgumentOutOfRangeException 类的新实例。
ArgumentOutOfRangeException(String, String) 使用指定的错误消息和导致此异常的参数的名称来初始化 ArgumentOutOfRangeException 类的新实例。
ArgumentOutOfRangeException(String, Object, String) 使用指定的错误消息、参数名和参数值来初始化 ArgumentOutOfRangeException 类的新实例。

成员/方法

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

提示和注释

当调用某个方法时,如果在传递给该方法的参数中至少有一个不为null 且不包含有效值,则将引发 ArgumentOutOfRangeException。

ArgumentOutOfRangeException 为以下类所广泛使用:

System.Collections 和 System.IO 命名空间中的类。

Array 类。

ArgumentOutOfRangeException 的行为与 ArgumentException 的行为相同。 提供该类的目的是:应用程序代码可以区分由不为 null 的无效参数引起的异常以及 null 参数引起的异常。 有关 null 参数引起的错误,请参见 ArgumentNullException。

ArgumentOutOfRangeException 使用值为 0x80131502 的 HRESULT COR_E_ARGUMENTOUTOFRANGE。

有关 ArgumentOutOfRangeException 实例的初始属性值列表,请参见 ArgumentOutOfRangeException 构造函数。

System.ArgumentOutOfRangeException 类例子

如果来宾小于 21 岁,则会引发 ArgumentOutOfRangeException 异常。

using System;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            Guest guest1 = new Guest("Ben", "Miller", 17);
            Console.WriteLine(guest1.GuestInfo());
        }
        catch (ArgumentOutOfRangeException outOfRange)
        {

            Console.WriteLine("Error: {0}", outOfRange.Message);
        }
    }
}

class Guest
{
    private string FirstName;
    private string LastName;
    private int Age;

    public Guest(string fName, string lName, int age)
    {
        FirstName = fName;
        LastName = lName;
        if (age < 21)
            throw new ArgumentOutOfRangeException("age","All guests must be 21-years-old or older.");
        else
            Age = age;
    }

    public string GuestInfo()
    {
        string gInfo = FirstName + " " + LastName + ", " + Age.ToString();
        return(gInfo);
    }
}

继承层次结构

System.Object

System.Exception

System.SystemException

System.ArgumentException

System.ArgumentOutOfRangeException

命名空间

namespace: System

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

线程安全

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

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.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 系统要求。