prenons en exemple ton élément value, si tu fait ça alors que value est null :
if ( value.equals("") ) return;
ton programme a l'exécution va lancer automatiquement une NPE pour avertir que tu ne peux pas appeler la méthode equals sur ton élément value.
Le fait de mettre
if (value == null) throw new NullPointerException("La valeur à ajouter est nul.");
Revient a la même exception qu'au dessus mais est gérée par toi mémé,
le conseil de PMD ici est de différencier une exception que tu lances toi directement car l'argument est incorrect d'une exception lancable par la JVM directement,
la finalité est la même (enfin, en fonction des catch de ton application) mais permettra en fait a quelqu'un voyant les logs de comprendre plus facilement le type de problème et surtout de comprendre que tu gères l'exception et que ce n'est pas la JVM qui a lance celle-ci
En écrivant ça :
if (value == null) throw new IllegalArgumentException("La valeur à ajouter est nul.");
Si l'exception est lancée, le logs sera lisible comme étant un problème sur un argument de méthode (et non pas une exception non gérée par ton application)
Partager