Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
712 of 1172 menu
◀ ▶

Класс RuntimeException

Класс RuntimeException является базовым классом для исключений, которые возникают во время выполнения программы. Такие исключения называются непроверяемыми (unchecked), потому что компилятор не требует их обработки. В первом параметре конструктор принимает сообщение об ошибке, во второй - причину возникновения исключения (другой объект Throwable). Класс RuntimeException наследуется от класса Exception.

Синтаксис

public class RuntimeException extends Exception

Конструкторы

Класс RuntimeException предоставляет несколько конструкторов:

RuntimeException() RuntimeException(String message) RuntimeException(String message, Throwable cause) RuntimeException(Throwable cause) RuntimeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)

Пример

Давайте создадим и выбросим исключение RuntimeException с сообщением об ошибке:

public class Main { public static void main(String[] args) { try { throw new RuntimeException("Something went wrong"); } catch (RuntimeException e) { System.out.println(e.getMessage()); } } }

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

"Something went wrong"

Пример

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

public class Main { public static void main(String[] args) { try { int[] arr = new int[5]; int index = 10; if (index >= arr.length) { throw new RuntimeException("Invalid index", new IndexOutOfBoundsException()); } System.out.println(arr[index]); } catch (RuntimeException e) { System.out.println(e.getMessage()); System.out.println(e.getCause().getClass().getSimpleName()); } } }

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

"Invalid index" "IndexOutOfBoundsException"

Пример

Давайте перехватим несколько типов исключений, которые являются наследниками RuntimeException:

public class Main { public static void main(String[] args) { String[] tests = {"abc", null, "12345"}; for (String test : tests) { try { System.out.println(test.length()); } catch (NullPointerException e) { System.out.println("NullPointerException caught"); } catch (RuntimeException e) { System.out.println("RuntimeException caught"); } } } }

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

3 "NullPointerException caught" 5

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

  • класс Exception,
    который является родителем RuntimeException
  • класс Error,
    который представляет серьезные ошибки
  • оператор throw,
    который выбрасывает исключение
  • конструкция try,
    которая обрабатывает исключения
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить