This exception indicates that illegal
data was passed to a method or
constructor call. Note that illegal data is
entirely contextual—the data may be a legitimate .NET value,
but inappropriate for the use in question. Although .NET languages
are type-safe in that you can't pass a string as a
parameter when an integer is expected, there is nothing to keep you
from passing a null or invalid value, such as sending
(2001, 13,
32) to
DateTime's constructor. However,
there is no 32nd day of the 13th month of the year 2001, and if you
try to initialize such a date, you'll get an
exception.
The ArgumentException class (or one of its
subclasses, ArgumentNullException or
ArgumentOutOfRangeException) indicates that a
method argument violated such a constraint. If you need to implement
this exception in your own code, consider using one of its subclasses
instead, since they represent common argument exceptions.
public class ArgumentException : SystemException {
// Public Constructors
public ArgumentException( );
public ArgumentException(string message);
public ArgumentException(string message, Exception innerException);
public ArgumentException(string message, string paramName);
public ArgumentException(string message, string paramName, Exception innerException);
// Protected Constructors
protected ArgumentException(System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context);
// Public Instance Properties
public override string Message{get; }
// overrides Exception
public virtual string ParamName{get; }
// Public Instance Methods
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context);
// overrides Exception
}