我在C#中的部分代码中抛出了ArgumentNullException。我想捕获并显示异常的错误消息。但没有参数名称。我想将参数名称传递给异常构造函数。
throw new ArgumentNullException("myParameter", errorMessageStringVariable);
如果我致电error.Message
,我会得到类似
errorMessageStringVariable 参数名称:myParameter
我想只显示errorMessageStringVariable。是否可以使用ArgumentNullException,而不对error.Message进行某种格式化?
答案 0 :(得分:5)
如果要构造没有名称的异常,请使用:
new ArgumentNullException(null, errorMessageStringVariable)
但是如果你想提出ArgumentNullException
设置paramName
,答案似乎是否定的。您必须在Message
属性上使用字符串操作。
您可以创建一个派生自ArgumentNullException
。
答案 1 :(得分:0)
如果你打电话:
new ArgumentNullException(null, errorMessageStringVariable)
异常消息将是:
值不能为空。参数名称:errorMessageStringVariable
如果您改为使用:
new ArgumentNullException(string.Empty, errorMessageStringVariable)
您只会收到错误消息。