如何抛出预定义的异常,通知参数名称,参数值和预定义的系统错误消息?

时间:2017-07-03 19:04:10

标签: c#

描述

如果我使用以下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);
}

1 个答案:

答案 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
    }
}