我有一个 Asset 对象,它有一个属性 AssignedSoftware,它是一个集合。
我想确保同一个软件不会多次分配给资产。在 Add 方法中,我检查软件是否已存在,如果存在,我想抛出异常。
是否有我应该抛出的标准 .NET 异常?或者最佳实践是否要求我创建自己的自定义异常?
Why has InvalidOperationException
被接受为答案?!它应该是一个ArgumentException
?!
InvalidOperationException
如果具有针对其调用的方法/属性的对象由于未初始化状态等而无法处理请求,则应使用该方法。这里的问题是不是被添加到的对象,而是被传递给对象的对象(这是一个骗局)。想想看,如果这个 Add 调用从未发生过,该对象是否仍能正常工作,是的!
这应该是一个参数异常.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)