当组合对象为null时引发ArgumentNullException



当相关参数不是null但其成员之一是时,是否建议抛出ArgumentNullException?例如,如果我有以下方法:

public T Method(Blog blog)
{
if (blog.Posts is null) 
{
throw new ArgumentNullException(paramName: nameof(blog.Posts));
}
}

为了使此方法完成其工作,它要求blog.Posts不能是nullArgumentNullException是否打算以这种方式使用?还是会产生误导?如果是这样的话,是否还有其他特定的异常类型更适合这个用例,或者我应该只依赖默认的NullReferenceException

我认为创建自己的自定义异常来实现三个常见的构造函数更有意义。您可以扩展ArgumentNullException。

来自文档:

当调用一个方法并且至少有一个传递的参数为null但不应为null时,会引发ArgumentNullException异常。

所以我认为ArgumentNullException是正确的,因为该属性是传递参数的一部分。确保你已经做了什么,提供信息,是什么导致了异常。

相关内容

  • 没有找到相关文章

最新更新