请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
全部折叠/全部展开 全部折叠
此页面仅适用于
Microsoft Visual Studio 2008/.NET Framework 3.5

同时提供下列产品的其他版本:
.NET Framework 类库
ArgumentOutOfRangeException 类

更新:2007 年 11 月

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

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)
Visual Basic(声明)
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class ArgumentOutOfRangeException _
    Inherits ArgumentException _
    Implements ISerializable
Visual Basic (用法)
Dim instance As ArgumentOutOfRangeException
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ArgumentOutOfRangeException : ArgumentException, 
    ISerializable
Visual C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class ArgumentOutOfRangeException : public ArgumentException, 
    ISerializable
J#
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public class ArgumentOutOfRangeException extends ArgumentException implements ISerializable
JScript
public class ArgumentOutOfRangeException extends ArgumentException implements ISerializable

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

ArgumentOutOfRangeException 为以下类所广泛使用:

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

ArgumentOutOfRangeException 使用值为 0x80131502 的 HRESULT COR_E_ARGUMENTOUTOFRANGE。

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

下面的示例定义了一个类,并在类中包含有关受邀请来宾的信息。如果来宾小于 21 岁,则会引发 ArgumentOutOfRangeException 异常。

C#
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
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:3.5、2.0、1.0

XNA Framework

受以下版本支持:2.0、1.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利 | 商标 | 隐私权声明
Page view tracker