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

Класс Throwable

Класс Throwable - это базовый класс для всех ошибок и исключений в Java. Он находится на вершине иерархии классов, которые могут быть перехвачены с помощью конструкции try-catch и выброшены с помощью ключевого слова throw. Класс Throwable предоставляет основные методы для работы с ошибками: получение сообщения, причины, трассировки стека и подавленных исключений. Все остальные классы ошибок, такие как Exception и Error, являются его наследниками.

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

Синтаксис

public class Throwable extends Object implements Serializable Throwable() Throwable(String message) Throwable(String message, Throwable cause) Throwable(Throwable cause) Throwable(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)

Основные методы

Класс Throwable предоставляет следующие основные методы:

getMessage - возвращает сообщение об ошибке;

getCause - возвращает причину возникновения исключения;

printStackTrace - выводит трассировку стека в стандартный поток ошибок;

getStackTrace - возвращает массив элементов трассировки стека;

addSuppressed - добавляет подавленное исключение.

Пример

Давайте создадим собственное исключение, унаследованное от Throwable, и выбросим его:

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

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

"Something went wrong"

Пример

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

public class Main { public static void main(String[] args) { Throwable cause = new Throwable("Root cause"); Throwable error = new Throwable("Wrapper error", cause); System.out.println(error.getMessage()); System.out.println(error.getCause().getMessage()); } }

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

"Wrapper error" "Root cause"

Пример

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

public class Main { public static void main(String[] args) { try { throw new Throwable("Test error"); } catch (Throwable e) { StackTraceElement[] trace = e.getStackTrace(); System.out.println(trace.length > 0); } } }

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

true

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

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