System.ArgumentOutOfRangeException Class

The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.

See Also: ArgumentOutOfRangeException Members


public class ArgumentOutOfRangeException : ArgumentException


ArgumentOutOfRangeException is thrown when a method is invoked and at least one of the arguments passed to the method is not null and does not contain a valid value.

ArgumentOutOfRangeException is used extensively by:

ArgumentOutOfRangeException behaves identically to ArgumentException. It is provided so that application code can differentiate between exceptions caused by invalid arguments that are not null, and exceptions caused by null arguments. For errors caused by null arguments, see ArgumentNullException.

ArgumentOutOfRangeException uses the HRESULT COR_E_ARGUMENTOUTOFRANGE, which has the value 0x80131502.

For a list of initial property values for an instance of ArgumentOutOfRangeException, see the ArgumentOutOfRangeException constructors.

Thread Safety

All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.


The following example demonstrates an error that causes the Array class to throw a ArgumentOutOfRangeException exception.

C# Example

using System;
class ArgOutOfRangeExample {
 public static void Main() {
 int[] array1 = {0,0};
 int[] array2 = {0,0};
 try {
 catch (ArgumentOutOfRangeException e) {
 Console.WriteLine("Error: {0}",e);

The output is

Error: System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: length
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
at ArgOutOfRangeExample.Main()


Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0,,