如果我使用以下ArgumentOutOfRangeException
类的构造函数,则异常将通知导致异常的参数名称,以及预定义的系统错误消息:
public ArgumentOutOfRangeException(string paramName)
或者,如果我使用以下构造函数,则异常将通知参数名称,参数值和指定的错误消息:
public ArgumentOutOfRangeException(string paramName, object actualValue, string message)
如何抛出预定义的异常,通知参数名称,参数值以及预定义的系统错误消息?
我对这个没有信心:
public static int Test(int Number)
{
ArgumentOutOfRangeException argEx = new ArgumentOutOfRangeException();
throw ArgumentOutOfRangeException("Number", Number, argEx.Message);
}
答案 0 :(得分:1)
创建一个从ArgumentOutOfRangeException派生的自定义异常以及任意数量的参数。
public class ExtendedArgumentOutOfRangeException : ArgumentOutOfRangeException
{
public string SystemMessage { get; }
public ExtendedArgumentOutOfRangeException(string message, string value, string systemMessage) : base(message, value)
{
SystemMessage = systemMessage;
// more here
}
}