Skip to main content
 Collapse AllExpand All      Code: All Code: Multiple Code: Visual Basic Code: C# Code: Visual C++ Code: F# Code: JScript 
ArgumentException Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

The exception that is thrown when one of the arguments provided to a method is not valid.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)
<SerializableAttribute> _
Public Class ArgumentException _
	Inherits SystemException
[SerializableAttribute]
public class ArgumentException : SystemException
[SerializableAttribute]
public ref class ArgumentException : public SystemException
[<SerializableAttribute>]
type ArgumentException =  
    class
        inherit SystemException
    end
public class ArgumentException extends SystemException

The ArgumentException type exposes the following members.

  NameDescription
Public method ArgumentException()()()()Initializes a new instance of the ArgumentException class.
Public method ArgumentException(String)Initializes a new instance of the ArgumentException class with a specified error message.
Public method ArgumentException(String, Exception)Initializes a new instance of the ArgumentException class with a specified error message and a reference to the inner exception that is the cause of this exception.
Public method ArgumentException(String, String)Initializes a new instance of the ArgumentException class with a specified error message and the name of the parameter that causes this exception.
Public method ArgumentException(String, String, Exception)Initializes a new instance of the ArgumentException class with a specified error message, the parameter name, and a reference to the inner exception that is the cause of this exception.
Top
  NameDescription
Public property InnerExceptionGets the Exception instance that caused the current exception. (Inherited from Exception.)
Public property MessageGets the error message and the parameter name, or only the error message if no parameter name is set. (Overrides Exception..::..Message.)
Public property ParamNameGets the name of the parameter that causes this exception.
Public property StackTraceGets a string representation of the immediate frames on the call stack. (Inherited from Exception.)
Top
  NameDescription
Public method Equals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public method GetTypeGets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public method ToStringCreates and returns a string representation of the current exception. (Inherited from Exception.)
Top
  NameDescription
Protected field m_HResult (Inherited from Exception.)
Top

ArgumentException is thrown when a method is invoked and at least one of the passed arguments does not meet the parameter specification of the called method. All instances of ArgumentException should carry a meaningful error message describing the invalid argument, as well as the expected range of values for the argument.

The primary derived classes of ArgumentException are ArgumentNullException and ArgumentOutOfRangeException. These derived classes should be used instead of ArgumentException, except in situations where neither of the derived classes is acceptable. For example, exceptions should be thrown by:

  • ArgumentNullException whenever nullNothingnullptrunita null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

  • ArgumentOutOfRangeException when the value of an argument is outside the range of acceptable values; for example, when the value "46" is passed as the month argument during the creation of a DateTime.

If the method call does not have any argument or if the failure does not involve the arguments themselves, then InvalidOperationException should be used.

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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.