ArgumentNullException для Integer

В .NET более уместно выдавать нулевое исключение аргумента для Integer, если значение равно Integer.MinValue или Integer = 0 (при условии, что 0 не является допустимым значением)?

19.08.2008 17:47:23
3 ОТВЕТА
РЕШЕНИЕ

Бросок ArgumentNullException не подходит, если аргумент на самом деле нулевой . Вместо этого выведите исключение ArgumentOutOfRangeException (желательно с сообщением, информирующим пользователя о том, какие значения int на самом деле приемлемы).

ArgumentOutOfRangeException генерируется, когда вызывается метод, и хотя бы один из аргументов, передаваемых методу, не является пустой ссылкой ( Nothing в Visual Basic) и не содержит допустимого значения.

8
19.08.2008 17:50:47

Ну, я думаю, что если вы используете int, то было бы лучше сказать InvalidArgumentException.

В качестве альтернативы, вы могли бы сделать ваши INT обнуляемыми, объявив их как int? (особенно если вы ожидаете нулевые значения для вашего int.)

2
19.08.2008 17:59:50

Если аргумент не нулевой, не бросайте ArgumentNullException. Вероятно, было бы более разумным, чтобы бросить ArgumentException, объяснил здесь.

редактировать: ArgumentOutOfRangeException вероятно, даже лучше, как предложено выше Avenger546.

0
23.01.2013 06:28:40