Maison > Java > javaDidacticiel > 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 ?

Patricia Arquette
Libérer: 2024-12-04 20:35:13
original
790 Les gens l'ont consulté

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

Quand lancer 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 Le choix 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 que IAE est désigné pour valider les paramètres.
  • Trace trompeuse : NPE dans une trace de pile peut suggérer un déréférencement nul au lieu 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é.

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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal