Зачем нужно ключевое слово assert?

Слово аssert является унарным оператором, который получает на входе проверяемое логическое утверждение. В том случае, если оно равно false, выбрасывается ошибка AssertionError. Это напоминает работу пары операторов if и throw.

В ранних версиях Java, до четвёртой, слово аssert не являлось ключевым, по этой причине, проверка логических утверждений в режиме по умолчанию, в новых версиях компилятора выключена, чтобы обеспечить совместимость с разработанными ранее программами. А это значит, что логика работы приложения не должна опираться на аssert. Включить проверку можно установив флаг –enableassertons или –ea при запуске команды компилятора java. С помощью этих флагов можно также задавать определённые классы или пакеты, в которых проверка должна быть выключена. С помощью флагов –da и –disableassertions проверку можно выключить. Обычно все перечисленные флаги используются в комбинации.

Обычно аssert используется для дополнительной подстраховки в коде, который не должен выполняться в обычных условиях. Появление исключения AssertionError, в большинстве случаев, говорит об ошибке разработчика.

У аssert существует параметр detalMessage, который передаётся в конструктор исключений AssertionError:

assert 2*2==5 : "two times two not five!";

Проверьте себя после изучения темы

Бесплатный бот с тестами и практическими заданиями по Kotlin.

  • 22 бесплатных урока
  • Тесты к каждому уроку (всего 220 вопросов)
  • Задачи в рамках практики KotlinSprint (120 задач) и курсовой проект «Телеграм бот для изучения иностранных слов»
Начать обучение

Вам также может быть интересно

Узнать подробнее
Курс AndroidSprint

Глубокое обучение Android разработке с 0 до получения оффера. Только персональная практика с гарантией получения продуктового опыта.

Узнать подробнее
Узнать подробнее
Практикум по Kotlin

Изучение Котлин с 0 для профессиональной разработки. Личный ментор и разбор кода задач через git-flow.

Узнать подробнее
Узнать подробнее
Бесплатные уроки по Kotlin разработке

Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.

Узнать подробнее
Узнать подробнее
Onboarding в разработку

Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь

Узнать подробнее
Узнать подробнее
Обучающий Kotlin телеграм бот (с тестами)

Ваш основной инструмент для изучения основ языка. Бесплатные тесты и практика внутри.

Узнать подробнее
Узнать подробнее
Бесплатные уроки по Android разработке

Самостоятельное обучение разработке Андроид приложений. Понятные видеоуроки с разжеванными примерами.

Узнать подробнее
Узнать подробнее
Курс по UI/Unit тестированию

Для ручных тестировщиков, которые готовы осваивать автотесты с использованием актуального стека технологий. [в разработке]

Узнать подробнее
Узнать подробнее
Обучающий Android телеграм бот (с тестами)

Бесплатные теоретические тесты для самопроверки. А также информер на практических спринтах по Android.

Узнать подробнее