| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- // Licensed to the .NET Foundation under one or more agreements.
- // The .NET Foundation licenses this file to you under the MIT license.
- // See the LICENSE file in the project root for more information.
- /*=============================================================================
- **
- **
- **
- ** Purpose: Exception class for invalid arguments to a method.
- **
- **
- =============================================================================*/
- using System.Globalization;
- using System.Runtime.Serialization;
- namespace System
- {
- // The ArgumentException is thrown when an argument does not meet
- // the contract of the method. Ideally it should give a meaningful error
- // message describing what was wrong and which parameter is incorrect.
- [Serializable]
- [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
- public class ArgumentException : SystemException
- {
- private string _paramName;
- // Creates a new ArgumentException with its message
- // string set to the empty string.
- public ArgumentException()
- : base(SR.Arg_ArgumentException)
- {
- HResult = HResults.COR_E_ARGUMENT;
- }
- // Creates a new ArgumentException with its message
- // string set to message.
- //
- public ArgumentException(string message)
- : base(message)
- {
- HResult = HResults.COR_E_ARGUMENT;
- }
- public ArgumentException(string message, Exception innerException)
- : base(message, innerException)
- {
- HResult = HResults.COR_E_ARGUMENT;
- }
- public ArgumentException(string message, string paramName, Exception innerException)
- : base(message, innerException)
- {
- _paramName = paramName;
- HResult = HResults.COR_E_ARGUMENT;
- }
- public ArgumentException(string message, string paramName)
- : base(message)
- {
- _paramName = paramName;
- HResult = HResults.COR_E_ARGUMENT;
- }
- protected ArgumentException(SerializationInfo info, StreamingContext context)
- : base(info, context)
- {
- _paramName = info.GetString("ParamName");
- }
- public override void GetObjectData(SerializationInfo info, StreamingContext context)
- {
- base.GetObjectData(info, context);
- info.AddValue("ParamName", _paramName, typeof(string));
- }
- public override string Message
- {
- get
- {
- string s = base.Message;
- if (!string.IsNullOrEmpty(_paramName))
- {
- string resourceString = SR.Format(SR.Arg_ParamName_Name, _paramName);
- return s + Environment.NewLine + resourceString;
- }
- else
- return s;
- }
- }
- public virtual string ParamName
- {
- get { return _paramName; }
- }
- }
- }
|