Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当作为参数传入的类具有不正确的属性时,应引发什么错误?_C# - Fatal编程技术网

C# 当作为参数传入的类具有不正确的属性时,应引发什么错误?

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

我有一个in
Insert
方法,该方法期望收到一个没有Id设置的
ClientList
(就好像列表有一个Id设置一样,应该更新,不要再插入)。当
ClientList.Id.HasValue
时,此方法是否应该抛出
ArgumentException
,或者是否有更具语义的内容?

的内置子类中没有适合此用例的内容

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


否则,只需使用
ArgumentException

,这似乎更像是一个与逻辑相关的错误。拥有自己的派生异常类可能更好。有人可能会支持
ArgumentOutOfRangeException
,尽管这更多是一个解释问题。