Integer的ArgumentNullException

时间:2008-08-19 17:47:23

标签: .net

在.NET中,如果值为Integer.MinValue或Integer = 0(假设0不是有效值),是否更适合为Integer抛出参数null异常?

3 个答案:

答案 0 :(得分:8)

除非参数实际上是 null ,否则抛出ArgumentNullException是不合适的。改为抛出ArgumentOutOfRangeException(最好带有一条消息,告知用户实际可以接受哪些int值)。

  调用方法时,抛出

ArgumentOutOfRangeException ,并且至少有一个传递给方法的参数不是空引用(在Visual Basic中 Nothing ),而不是包含有效值。

答案 1 :(得分:2)

好吧,我想如果你使用的是int,那么最好说InvalidArgumentException。

或者,你可以通过将它们声明为 int?来使你的INT可以为空(特别是如果你期望int的空值。)

答案 2 :(得分:0)

如果参数不为null,则不要抛出ArgumentNullException。抛出ArgumentExceptionexplained here.

可能更合理

编辑: ArgumentOutOfRangeException可能会更好,正如Avenger546上面所建议的那样。