当作为参数传递的类具有不正确的属性时,应抛出什么错误?

3

我有一个Insert方法,期望接收一个没有设置Id的ClientList(如果列表已经设置了id,则应该更新而不是再次插入)。当ClientList.Id.HasValue时,这个方法是否应该抛出ArgumentException,或者还有其他更合适的语义?


1
这似乎更像是与您的逻辑相关的错误。最好拥有自己派生的异常类。 - Steve
有人可能会主张使用“ArgumentOutOfRangeException”,尽管这更多是一种解释问题。 - Damien_The_Unbeliever
1个回答

2

在内置的 ArgumentException 子类中,没有适合这种用例的内容。

如果调用方需要异常属性中的更多细节(而不仅仅是将信息放在消息中),则可以添加自己的自定义异常子类。

否则,只需使用 ArgumentException


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接