«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > IllegalArgumentException или NullPointerException: какое исключение для нулевого параметра в методах установки?

IllegalArgumentException или NullPointerException: какое исключение для нулевого параметра в методах установки?

Опубликовано 21 декабря 2024 г.
Просматривать:908

IllegalArgumentException or NullPointerException: Which Exception for a Null Parameter in Setter Methods?

Когда выбрасывать исключение IllegalArgumentException или NullPointerException для нулевого параметра

При определении методов установки разработчики часто сталкиваются с дилеммой: выдавать ли исключение IllegalArgumentException или NullPointerException для нулевого параметра. Оба исключения кажутся релевантными на основании их описаний в JavaDoc:

  • IllegalArgumentException: Указывает на недопустимый или недопустимый аргумент.
  • NullPointerException: Вызывается, когда null используется ненадлежащим образом.

Однако соответствующий Выбор — IllegalArgumentException (IAE) по следующим причинам:

  • Предполагаемое использование: NPE предназначен для ошибок во время выполнения, связанных с нулевым разыменованием, тогда как IAE предназначен для для проверки параметров.
  • Вводящий в заблуждение след: NPE в трассировка стека может указывать на нулевое разыменование вместо неправильного значения параметра.
  • Согласованность: IAE обычно используется для других ошибок недопустимых параметров, поэтому согласованность предпочтительна.
  • Несоответствия API Java: Хотя API Java иногда использует NPE для нулевых параметров, его несогласованность не должна эмулируется.

Поэтому для методов установки, где значение null не подходит, следует использовать IllegalArgumentException для передачи намерения проверки параметра.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3