„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > IllegalArgumentException oder NullPointerException: Welche Ausnahme für einen Nullparameter in Setter-Methoden?

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

Veröffentlicht am 21.12.2024
Durchsuche:840

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

Wann soll eine IllegalArgumentException oder NullPointerException für einen Null-Parameter 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.

Die richtige Wahl ist jedoch IllegalArgumentException (IAE) aus folgenden Gründen:

  • Beabsichtigte Verwendung: NPE ist für Laufzeitfehler im Zusammenhang mit Null-Dereferenzierung gedacht, während IAE für die Validierung vorgesehen ist Parameter.
  • Irreführender Trace: NPE in einem Stack-Trace kann auf a hinweisen Null-Dereferenzierung anstelle eines falschen Parameterwerts.
  • Konsistenz: IAE wird häufig für andere ungültige Parameterfehler verwendet, daher wird Konsistenz bevorzugt.
  • Java-API-Inkonsistenzen : 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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3