Sobes.tech
Junior — Middle
106

Jakie zmiany zostały wprowadzone w obsłudze NullPointerException w Java od wersji 11 do 17?

Firmy, w których zadano pytania
AstonAston

Odpowiedź od AI

sobes.tech AI

Начиная с Java 14 (а не с 11) была введена улучшенная диагностика NullPointerException — так называемые "Helpful NullPointerExceptions". Эта функция позволяет JVM выдавать более информативные сообщения об ошибках, указывая, какая именно переменная или выражение было null, что облегчает отладку.

В версиях Java 11-13 таких изменений не было, а с 14 по 17 эта возможность стала стандартной и улучшалась.

Пример сообщения с Helpful NullPointerException:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null

Для включения этой функции в ранних версиях нужно было запускать JVM с флагом -XX:+ShowCodeDetailsInExceptionMessages, а начиная с Java 15 она включена по умолчанию.