Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

assert

Проверка внутреннего условия программы. По умолчанию выключена, включается ключом -ea.

Доступно с: Java 1.4

Синтаксис

assert condition;  /  assert condition : message;

Примеры

Без ключа -ea проверка не выполняется вовсе:

void main() {
    int age = -5;
    assert age >= 0 : "age must not be negative: " + age;
    IO.println("Age: " + age);
}

Результат:

Age: -5

Тот же код, запущенный как java -ea Main.java:

void main() {
    int age = -5;
    assert age >= 0 : "age must not be negative: " + age;
    IO.println("Age: " + age);
}

Результат:

Exception in thread "main" java.lang.AssertionError: age must not be negative: -5

Примечания

assert ловит ошибки программиста во время разработки и тестов: «здесь список уже отсортирован», «сюда не может прийти null». Проверять им входные данные и аргументы публичных методов нельзя — в рабочем запуске проверка выключена; для этого бросайте IllegalArgumentException или вызывайте Objects.requireNonNull(). В условии не должно быть побочных эффектов: без -ea оно не вычисляется.

См. также

  • throw — Бросает исключение и прерывает выполнение метода.
  • IllegalArgumentException — Сообщает, что метод получил недопустимый аргумент.
  • Objects.requireNonNull() — Проверяет, что значение не null, и сразу бросает NullPointerException с понятным сообщением.

В учебнике

  • Что такое исключения — Исключения в Java — как программа сообщает об ошибке, как читать трассировку стека, частые исключения и иерархия Throwable.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.