Operatoren Wieso fliegt hier eine NullPointer Exception :(

firestone

Bekanntes Mitglied
Guten Morgen Zusammen,
ich habe folgende Zeile im Code

Code:
if (pLogger != null && pLogger.isEnabledFor(Priority.ERROR))


bei mir ist pLogger im besagten Fall nun null und genau an dieser Stelle fliegt bei pLogger.isEnabledFor(Priority.ERROR) eine NullPointerException aber warum ? Wenn der erste Ausdruck doch schon false ist wird der zweite doch normalerweise nicht mehr ausgewertet oder ?

Gruß,
Fireli
 
Moin,

grundsätzlich würde ich Dir Recht geben, vermute aber, das mit dem Auswerten der zweiten Bedingung nur das 'isEnabledFor' gemeint ist, zuvor jedoch der Parameter 'Priority.ERROR' daraufhin geprüft wird, ob er überhaupt ausgewertet werden könnte ...

Gruß Klaus
 
Priority.ERROR ist ja eine statische Variable und sollte eigentlich nicht null sein.
pLogger ist entweder null. Dann ist der Ausdruck bereits fertig ausgewertet und ergibt false.
Oder pLogger ist ungleich null. Dann kann auch isEnabledFor aufgerufen werden.

Der Nullpointer müsste also eigentlich woanders passieren.
Bist du dir sicher, dass du den Stacktrace richtig gelesen hast ?
 
Zuletzt bearbeitet:
Moin,

Priority.ERROR ist ja eine statische Variable und sollte eigentlich nicht null sein.
pLogger ist entweder null. Dann ist der Ausdruck bereits fertig ausgewertet und ergibt false.
Oder pLogger ist ungleich null. Dann kann auch isEnabledFor aufgerufen werden.
Der Nullpointer müsste also eigentlich woanders passieren.
Bist du dir sicher, dass du den Stacktrace richtig gelesen hast ?
Auch wieder wahr 🙂
Poste am besten mal den kompletten Stacktrace!

Gruß Klaus
 

Zurück
Oben