К какому типу исключений в Java относится NullPointerException: к проверяемым (checked) или непроверяемым (unchecked)?

«К какому типу исключений в Java относится NullPointerException: к проверяемым (checked) или непроверяемым (unchecked)?» — вопрос из категории Java, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

NullPointerException (NPE) — это непроверяемое (unchecked) исключение. Оно наследуется от RuntimeException.

Почему это важно:

  • Компилятор не требует явно обрабатывать NPE (блоком try-catch) или объявлять его в сигнатуре метода с помощью throws.
  • Это исключение возникает во время выполнения (runtime) при попытке использовать null там, где требуется объект.

Пример, вызывающий NPE:

String text = null;
// Следующая строка выбросит NullPointerException при выполнении
int length = text.length();

Контраст с проверяемыми исключениями: Проверяемые исключения, такие как IOException, должны быть либо обработаны, либо объявлены в throws. Иначе код не скомпилируется.