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

Класс AssertionError

Класс AssertionError наследуется от класса Error и представляет собой ошибку, которая возникает при неудачной проверке утверждения с помощью ключевого слова assert. Утверждения используются для проверки предположений о состоянии программы во время разработки. Если утверждение оказывается ложным, виртуальная машина Java выбрасывает исключение AssertionError. В первый параметр конструктора можно передать сообщение об ошибке, во второй - причину (cause), а также можно передать логическое значение или объект для детализации ошибки.

Синтаксис

// Проверка утверждения assert condition : message; // Конструкторы класса new AssertionError() new AssertionError(Object detailMessage) new AssertionError(boolean detailMessage) new AssertionError(char detailMessage) new AssertionError(int detailMessage) new AssertionError(long detailMessage) new AssertionError(float detailMessage) new AssertionError(double detailMessage) new AssertionError(String message, Throwable cause)

Пример

Давайте рассмотрим пример, в котором утверждение оказывается ложным, что приводит к выбросу ошибки AssertionError:

public class Main { public static void main(String[] args) { int a = 5; int b = 10; assert a > b : "a must be greater than b"; System.out.println("Program continues"); } }

Результат выполнения кода (при включенных утверждениях с флагом -ea):

Exception in thread "main" java.lang.AssertionError: a must be greater than b at Main.main(Main.java:8)

Пример

Давайте создадим объект AssertionError вручную и выведем его сообщение:

public class Main { public static void main(String[] args) { try { throw new AssertionError("Custom assertion error"); } catch (AssertionError e) { System.out.println(e.getMessage()); } } }

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

"Custom assertion error"

Пример

Давайте создадим ошибку AssertionError с указанием причины:

public class Main { public static void main(String[] args) { try { Exception cause = new RuntimeException("Root cause"); throw new AssertionError("Assertion failed", cause); } catch (AssertionError e) { System.out.println(e.getMessage()); System.out.println(e.getCause().getMessage()); } } }

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

"Assertion failed" "Root cause"

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

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