Maison >Java >javaDidacticiel >IllegalArgumentException ou NullPointerException pour les paramètres Null Setter ?

IllegalArgumentException ou NullPointerException pour les paramètres Null Setter ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-08 14:44:11439parcourir

IllegalArgumentException or NullPointerException for Null Setter Parameters?

NullPointerException vs. IllegalArgumentException : définition des paramètres de manière appropriée

Lors de la conception d'une méthode de définition où null est inapproprié pour une propriété, la question se pose : doit-on vous lancez une IllegalArgumentException (IAE) ou une NullPointerException (NPE) ?

Selon la documentation et les meilleures pratiques de Java, IAE est le choix le plus approprié pour les raisons suivantes :

  1. Utilisation prévue : NPE est explicitement conçu pour être lancé par le runtime, tandis que IAE est destiné à indiquer une méthode invalide arguments.
  2. Interprétation des erreurs : NPE suggère une erreur de codage potentielle lors de l'utilisation inappropriée de null. IAE, d'autre part, indique clairement que la méthode a reçu une valeur illégale.
  3. Validation cohérente des paramètres :IAE est couramment utilisé pour la validation des paramètres, ce qui en fait le choix par défaut pour tous les types. de paramètres non valides, y compris null.
  4. Messages d'erreur spécifiques :IAE et NPE autorisent des messages d'erreur personnalisés pour transmettre une validation spécifique détails.
  5. Utilisation incohérente dans l'API Java : Bien que certaines parties de l'API Java utilisent NPE pour les paramètres nuls, ce n'est pas une pratique cohérente. Suivre les meilleures pratiques et utiliser IAE favorise la cohérence au sein de votre propre base de code.

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!

Déclaration:
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