просто ищет советы здесь ради лучших практик.Выбрасывает ArgumentOutOfRangeException правильно делать?
У меня есть логический метод, который проверяет определенное условие для каждого элемента массива. Параметр массива не может быть нулевым и не содержит нулевых значений, иначе было бы бессмысленно возвращать true или false.
Best practices указывает, что в случае передачи недопустимого аргумента методу должно быть выбрано ArgumentException (или производное). Метод будет генерировать ArgumentNullException, если параметр массива равен NULL. Тем не менее, я не уверен в том, что я должен использовать для пустого массива или массива, который содержит нулевые значения.
Моя первоначальная мысль заключалась в том, чтобы выбросить простое аргумент ArgumentException с сообщением, объясняющим характер проблемы, но коллега предположил, что вместо этого я вместо этого создаю исключение ArgumentOutOfRangeException.
Обычно я думаю об ArgumentOutOfRangeException как о чем-то, что говорит «слишком высоко» или «слишком низко». Мой коллега, кажется, считает, что он может также стоять за «недостаточно» и «что-то не хватает».
Правильно ли он? Или я должен следовать своей первой идее и бросать ArgumentException?
Argument null - это только и только это. Пустой массив или массив с нулевыми значениями - это не пустой аргумент. – Paparazzi
Ни в моем. Вот почему я бросаю ArgumentNullException ТОЛЬКО, если сам массив является нулевым значением. Вопрос в том, что я должен делать, когда массив НЕ имеет значение null, но все еще недействителен. – Crono
Если массив НЕ имеет значение null и недействителен, то как это не исключение ArgumentOutOfRangeException? – Paparazzi