在.NET中,如果值为Integer.MinValue或Integer =0(假设0不是有效值),为Integer抛出参数null异常更合适吗?
发布于 2008-08-19 17:50:48
除非参数实际上是空,否则抛出ArgumentNullException是不合适的。而是抛出一个ArgumentOutOfRangeException (最好用一条消息告诉用户哪些int的值实际上是可接受的)。
当调用某个方法并且传递给该方法的参数中至少有一个不是空引用(在Visual Basic中为Nothing)且不包含有效值时,将引发
Nothing。
发布于 2008-08-19 17:49:45
好吧,我认为如果你使用的是一个整数,那么说InvalidArgumentException会更好。
或者,您可以通过将int声明为int?(特别是如果您希望int的值为空值。)
发布于 2008-08-19 17:54:42
如果参数不是null,就不要抛出ArgumentNullException。抛出一个ArgumentException、explained here.
编辑: ArgumentOutOfRangeException可能更好,正如上面Avenger546所建议的那样。
https://stackoverflow.com/questions/16616
复制相似问题