验证失败时应该抛出什么异常?

时间:2013-05-09 22:50:21

标签: c# .net-4.5

我们有一个Create操作,它对传入的实体运行验证。如果这个实体无效,应该抛出什么异常?

最初,我们要抛出ApplicationException,但经过一些研究后,这似乎是不正确的:(来自MSDN上的文章):

X不要ApplicationException投掷或派生。

我们应该创建自定义异常并从ApplicationException继承吗?

.NET框架中是否存在我们应该使用的异常?

或许,我们不应该抛出异常吗?

我不确定......

更多细节:

在此特定情况下,Create方法创建地址更改请求。业务规则声明一次只能有一个地址更改请求。验证错误可能来自以下两种情况之一:

  1. 未设置实体的属性,或设置为不正确的值

  2. 地址更改请求已存在。

1 个答案:

答案 0 :(得分:1)

你应该抛出InvalidArgumentException