2

我有点困惑。

MSDN 对 ArgumentException 的说法是:

“当提供给方法的参数之一无效时引发的异常。”

因此,如果传递给我的方法的参数无效,我会抛出异常。

但我也发现建议返回布尔值加上一个字符串是有原因的。- 而不是抛出异常。

所以,

问题:当validationg方法参数,当参数无效时,Validation方法什么时候应该抛出异常,什么时候不应该?

4

1 回答 1

9

如果您有一个方法,其目的是验证其参数(例如:这是一个有效的用户名/密码组合),那么一定要返回一个布尔值(false = 无效)加上一个原因。不要为预期的情况抛出异常(如果不是预期的,为什么要验证?)

如果你有一个“Process”方法,情况就不同了:你必须有有效的参数,所以当它们无效时抛出异常(说明问题)是合理的。

于 2013-01-09T08:10:52.113 回答