РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
705 of 1163 menu

Класс NullPointerException

Класс NullPointerException - это исключение, которое возникает при попытке обратиться к объекту по ссылке, равной null. Оно наследуется от класса RuntimeException и относится к непроверяемым исключениям, поэтому компилятор не требует его обработки. Исключение выбрасывается, когда мы вызываем метод у null, читаем или записываем поле у null, берем длину массива null, обращаемся к элементу массива null, а также в ряде других случаев. Параметров у этого класса нет - это готовый тип исключения, объект которого можно создать и выбросить через throw.

Синтаксис

new NullPointerException() new NullPointerException(String message)

Пример

Давайте вызовем метод у ссылки, равной null, и посмотрим, что произойдет:

public class Main { public static void main(String[] args) { String str = null; System.out.println(str.length()); } }

Результат выполнения кода:

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

Пример

Давайте обратимся к элементу массива, который равен null:

public class Main { public static void main(String[] args) { int[] arr = null; System.out.println(arr[0]); } }

Результат выполнения кода:

Exception in thread "main" java.lang.NullPointerException: Cannot load from int array because "arr" is null

Пример

Давайте перехватим исключение NullPointerException и выведем его сообщение:

public class Main { public static void main(String[] args) { try { String str = null; System.out.println(str.length()); } catch (NullPointerException e) { System.out.println(e.getMessage()); } } }

Результат выполнения кода:

"Cannot invoke \"String.length()\" because \"str\" is null"

Пример

Давайте явно выбросим исключение NullPointerException с помощью ключевого слова throw:

public class Main { public static void main(String[] args) { String str = null; if (str == null) { throw new NullPointerException("str must not be null"); } } }

Результат выполнения кода:

Exception in thread "main" java.lang.NullPointerException: str must not be null

Пример

Давайте проверим ссылку на null с помощью метода requireNonNull класса Objects:

import java.util.Objects; public class Main { public static void main(String[] args) { String str = null; Objects.requireNonNull(str, "str must not be null"); } }

Результат выполнения кода:

Exception in thread "main" java.lang.NullPointerException: str must not be null

Смотрите также

  • класс RuntimeException,
    от которого наследуется NullPointerException
  • метод getMessage,
    который возвращает сообщение исключения
  • метод printStackTrace,
    который выводит стек вызовов исключения
  • метод requireNonNull,
    который проверяет ссылку на null
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить