Зачем нужно ключевое слово 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!";
Peer-to-peer собеседования
AI Sprints — обучение профессиям с ИИ
Практика собеседований с менторами и другими студентами. Реальные вопросы по Kotlin, Android и Backend
- Живые собеседования: практикуйте интервью с менторами и коллегами-студентами
- Реальные вопросы: база вопросов по Kotlin, Android, Backend и QA
- Фидбек: обратная связь после каждого собеседования — знаете, что улучшить
AI Challenge — собери чат-бота за 5 дней
Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.
- Практика с первого дня, без теории «в стол»
- Готовый проект в портфолио к концу недели
- Старт в любой день — учитесь в своём темпе