"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > IllegalArgumentException ou NullPointerException : quelle exception pour un paramètre Null dans les méthodes Setter ?

IllegalArgumentException ou NullPointerException : quelle exception pour un paramètre Null dans les méthodes Setter ?

Publié le 2024-12-21
Parcourir:815

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

Quand lancer une IllegalArgumentException ou NullPointerException pour un paramètre Null

Lors de la définition des méthodes de définition, les développeurs sont souvent confrontés au dilemme de savoir s'ils doivent lancer une IllegalArgumentException ou une NullPointerException pour un paramètre nul. Les deux exceptions semblent pertinentes en fonction de leurs descriptions JavaDoc :

  • IllegalArgumentException : Indique un argument illégal ou inapproprié.
  • NullPointerException : Levée lorsque null est utilisé de manière inappropriée.

Cependant, le choix approprié est IllegalArgumentException (IAE) pour les raisons suivantes :

  • Utilisation prévue : NPE est destiné aux erreurs d'exécution liées au déréférencement nul, tandis qu'IAE est désigné pour la validation paramètres.
  • Trace trompeuse : NPE dans une trace de pile peut suggérer un déréférencement nul à la place d'une valeur de paramètre incorrecte.
  • Cohérence : IAE est couramment utilisé pour d'autres erreurs de paramètres non valides, la cohérence est donc préférable.
  • Incohérences de l'API Java : Bien que l'API Java utilise parfois NPE pour les paramètres nuls, son incohérence ne doit pas être émulée.

Par conséquent, pour les méthodes de définition où null n'est pas approprié, IllegalArgumentException doit être utilisé pour transmettre l’intention de la validation des paramètres.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3