"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > IllegalArgumentException o NullPointerException: ¿Qué excepción para un parámetro nulo en los métodos Setter?

IllegalArgumentException o NullPointerException: ¿Qué excepción para un parámetro nulo en los métodos Setter?

Publicado el 2024-12-21
Navegar:425

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

Cuándo lanzar IllegalArgumentException o NullPointerException para un parámetro nulo

Al definir métodos de establecimiento, los desarrolladores a menudo se enfrentan al dilema de si lanzar una IllegalArgumentException o una NullPointerException para un parámetro nulo. Ambas excepciones parecen relevantes según sus descripciones de JavaDoc:

  • IllegalArgumentException: Indica un argumento ilegal o inapropiado.
  • NullPointerException: Se lanza cuando null se usa de manera inapropiada.

Sin embargo, la opción apropiada es IllegalArgumentException (IAE) por los siguientes motivos:

  • Uso previsto: NPE está diseñado para errores de tiempo de ejecución relacionados con la desreferenciación nula, mientras que IAE está designado para validar parámetros.
  • Seguimiento engañoso: NPE en un seguimiento de pila puede sugerir una desreferencia nula en su lugar de un valor de parámetro incorrecto.
  • Consistencia: IAE se usa comúnmente para otros errores de parámetros no válidos, por lo que se prefiere la coherencia.
  • Inconsistencias de la API de Java: Si bien la API de Java a veces usa NPE para parámetros nulos, su inconsistencia no debe emularse.

Por lo tanto, para los métodos de establecimiento donde son nulos no es apropiado, se debe utilizar IllegalArgumentException para transmitir la intención de la validación de parámetros.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3