Sobes.tech
Назад к вопросам
Junior — Middle
70

Какие изменения были внесены в обработку NullPointerException в Java начиная с версии 11 и до 17?

Компании, где спрашивали
AstonAston

Ответ от нейросети

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 она включена по умолчанию.