Heim > Java > javaLernprogramm > IllegalArgumentException oder NullPointerException: Welche Ausnahme für einen Null-Parameter in Setter-Methoden?

IllegalArgumentException oder NullPointerException: Welche Ausnahme für einen Null-Parameter in Setter-Methoden?

Patricia Arquette
Freigeben: 2024-12-04 20:35:13
Original
800 Leute haben es durchsucht

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

Wann soll eine IllegalArgumentException oder NullPointerException für einen Nullparameter ausgelöst werden?

Beim Definieren von Setter-Methoden stehen Entwickler häufig vor dem Dilemma, ob eine IllegalArgumentException ausgelöst werden soll oder eine NullPointerException für einen Nullparameter. Beide Ausnahmen erscheinen basierend auf ihren JavaDoc-Beschreibungen relevant:

  • IllegalArgumentException: Zeigt ein illegales oder unangemessenes Argument an.
  • NullPointerException: Wird ausgelöst, wenn null wird unangemessen verwendet.

Allerdings das Richtige Die Wahl ist IllegalArgumentException (IAE) aus folgenden Gründen:

  • Beabsichtigte Verwendung: NPE ist für Laufzeitfehler im Zusammenhang mit Null-Dereferenzierung gedacht, während IAE vorgesehen ist zur Validierung von Parametern.
  • Irreführende Spur: NPE in einem Stack-Trace schlägt möglicherweise eine Null-Dereferenzierung anstelle eines falschen Parameterwerts vor.
  • Konsistenz: IAE wird häufig für andere ungültige Parameterfehler verwendet, daher wird Konsistenz bevorzugt.
  • Inkonsistenzen der Java-API: Während die Java-API manchmal NPE für Nullparameter verwendet, sollte dies nicht der Fall sein emuliert.

Daher sollte für Setter-Methoden, bei denen null nicht geeignet ist, IllegalArgumentException verwendet werden, um die Absicht der Parametervalidierung zu übermitteln.

Das obige ist der detaillierte Inhalt vonIllegalArgumentException oder NullPointerException: Welche Ausnahme für einen Null-Parameter in Setter-Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage