0Pricing
Java Academy · Урок

Проверяемые и непроверяемые исключения

Разберитесь в различиях между проверяемыми и непроверяемыми исключениями в Java.

«Проверяемые и непроверяемые исключения» — бесплатный урок Java Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.

Введение

Исключения в Java делятся на два семейства: проверяемые и непроверяемые. Знание различий помогает правильно проектировать методы.

Проверяемые исключения

Проверяемые исключения наследуются от исключения (но не от RuntimeException). Компилятор заставляет Вас обработать их или объявить с помощью throws.

Код: проверяемое IOException

IOException является проверяемым исключением. Вы должны перехватить его или объявить в сигнатуре метода.

public class Main {
  public static void main(String[] args) {
    try {
      java.io.FileReader fr = new java.io.FileReader("missing.txt"); // checked exception
      fr.read();
      fr.close();
    } catch (java.io.IOException e) {
      System.out.println("Handled IOException: " + e.getMessage());
    }
  }
}

Непроверяемые исключения

Непроверяемые исключения наследуются от RuntimeException. Компилятор не требует их обработки. Примеры: NullPointerException, ArithmeticException.

Код: непроверяемое NPE

NullPointerException является непроверяемым исключением. Вы можете перехватить его, но компилятор не заставляет Вас это делать.

public class Main {
  public static void main(String[] args) {
    String s = null;
    try {
      System.out.println(s.length()); // unchecked exception
    } catch (NullPointerException e) {
      System.out.println("Caught NullPointerException");
    }
  }
}

Код: объявление исключений

Проверяемые исключения можно объявить с помощью объявления исключений. Вызывающий код должен обработать их или передать дальше.

public class Main {
  static void risky() throws java.io.IOException {
    throw new java.io.IOException("I/O problem");
  }
  public static void main(String[] args) {
    try {
      risky();
    } catch (java.io.IOException e) {
      System.out.println("Handled in main: " + e.getMessage());
    }
  }
}

Проверка: проверяемые и непроверяемые исключения

Быстрая проверка: какое утверждение о проверяемых и непроверяемых исключениях верно?

Повторение

Повторение: проверяемые исключения (IOException) необходимо объявить или обработать. Обработку непроверяемых исключений (RuntimeException) можно выполнять по желанию.

Часто задаваемые вопросы

Урок «Проверяемые и непроверяемые исключения» бесплатный?

Да — полный текст урока «Проверяемые и непроверяемые исключения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.

Чему я научусь в уроке «Проверяемые и непроверяемые исключения»?

Разберитесь в различиях между проверяемыми и непроверяемыми исключениями в Java. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.

Сколько времени занимает урок «Проверяемые и непроверяемые исключения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. try/catch/finally
  2. Проверяемые и непроверяемые исключения
  3. Чтение трассировок стека
← Назад к Java Academy