Этот вопрос все еще интересен, в основном из-за ответов.
Когда речь заходит об исключении, возникает множество аргументов. Мы можем отстаивать точку зрения в любом направлении, от которого хотим, от производительности до философии исключений. И все они звучат прямо для меня.
Но иногда мы должны придерживаться направления. В этом случае я думаю, что это сама проверка.
Когда мы хотим проверить что-то, мы также хотим знать (войти или показать пользователю), что не так, если параметр недействителен. Даже при том, что существуют уровни проверки, такие как проверка бизнеса, смешанная с проверками ввода пользователя.
Например, при работе с пользовательским вводом может произойти много странных случаев. Вставленные данные с веб-сайта, заполненного скрытыми символами (\ t \ n и т. Д.), Опечатками и действительно огромным количеством случаев, когда конкретное исключение может позволить более точный анализ или сообщение для использования гораздо точнее, чем простой «ложный» возврат .