C# 当作为参数传入的类具有不正确的属性时,应引发什么错误?
我有一个inC# 当作为参数传入的类具有不正确的属性时,应引发什么错误?,c#,C#,我有一个inInsert方法,该方法期望收到一个没有Id设置的ClientList(就好像列表有一个Id设置一样,应该更新,不要再插入)。当ClientList.Id.HasValue时,此方法是否应该抛出ArgumentException,或者是否有更具语义的内容?的内置子类中没有适合此用例的内容 如果调用方能够从异常属性的更多细节中获益(而不仅仅是将信息放在消息中),则可以添加自己的自定义异常子类 否则,只需使用ArgumentException,这似乎更像是一个与逻辑相关的错误。拥有自己的
Insert
方法,该方法期望收到一个没有Id设置的ClientList
(就好像列表有一个Id设置一样,应该更新,不要再插入)。当ClientList.Id.HasValue
时,此方法是否应该抛出ArgumentException
,或者是否有更具语义的内容?的内置子类中没有适合此用例的内容
如果调用方能够从异常属性的更多细节中获益(而不仅仅是将信息放在消息中),则可以添加自己的自定义异常子类
否则,只需使用
ArgumentException
,这似乎更像是一个与逻辑相关的错误。拥有自己的派生异常类可能更好。有人可能会支持ArgumentOutOfRangeException
,尽管这更多是一个解释问题。