Рубрики
Без рубрики

Может ли NullPointerException быть полезным?

Вы когда-нибудь получали исключение NullPointerException? Каждый разработчик Java сталкивался с NullPoi… Помечено как java, исключение, производительность.

Вы когда-нибудь получали исключение NullPointerException?

Каждый разработчик Java сталкивался с NullPointerExceptions, это наиболее распространенная ошибка программирования, с которой сталкиваются новые разработчики Java.

Ниже приведена одна простая ошибка программирования, я пытаюсь вызвать метод size в списке null.

public class NullPointerExceptionDemo {
    public static void main(String[] args) {
        List list = null;
        System.out.println(list.size());
    }
}

Это результат запуска демонстрации NullPointerException

Exception in thread "main" java.lang.NullPointerException
at com.vip.jdk14.NullPointerExceptionDemo.main(NullPointerExceptionDemo.java:8)

Process finished with exit code 1

В приведенном выше примере ясно, что список равен нулю, но в нескольких других ситуациях нелегко понять первопричину. Смотрите следующий пример.

    System.out.println(objectA.getObjectB().getObjectC().getObjectD());

Здесь вы можете получить исключение NullPointerException, когда objects или objects.getobject() или object.getObjectB().getObjectC() любой из них равен нулю. И во всех этих случаях вы получаете одно и то же сообщение NullPointerException.

Java 14 может показать вам основную причину исключения NullPointerException

Теперь Java 14 добавила языковую функцию, чтобы показать основную причину исключения NullPointerException. Эта языковая функция является частью SAP commercial JVM с 2006 года.

Полезное исключение NullPointerException

В Java 14 вы можете начать передавать -XX:+ Показывать детали кода В сообщениях об исключениях в аргументах виртуальной машины, и это поможет вам увидеть основную причину исключения NullPointerException. В Java 14 опция по умолчанию отключена, а в более поздних версиях она будет включена по умолчанию.

public class HelpfulNullPointerExceptionDemo {
    public static void main(String[] args) {
        List list = null;
        System.out.println(list.size());
    }
}

Запуск этой программы выводит следующее сообщение об исключении, и основная причина четко написана список равен null .

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.List.size()" because "list" is null
at com.vip.jdk14.HelpfulNullPointerExceptionDemo.main(HelpfulNullPointerExceptionDemo.java:8)

Process finished with exit code 1

В конце

Чтобы изучить лучшие возможности языка Java и получить лучшие вакансии на Java, скачайте мою электронную книгу 5 шагов к лучшим вакансиям на Java бесплатно.

Подписывайтесь на меня в Twitter @vipinbit , чтобы получать ежедневные советы, подобные этим, о функциях языка Java.

Оригинал: “https://dev.to/vipin_sharma/can-nullpointerexception-be-helpful-2j57”