Поскольку assert - это новое ключевое слово Java, введенное в JDK 1.4, вы должны скомпилировать программу с использованием компилятора JDK 1.4. Кроме того, вам нужно включить ключ –source 1.4 в команду компилятора следующим образом:
javac –source 1.4 AssertionDemo.java
ПРИМЕЧАНИЕ. Если вы используете JDK 1.5 или более поздней версии, нет необходимости использовать опцию –source 1.4 в команде.
По умолчанию утверждения отключены во время выполнения. Чтобы включить его, используйте переключатель –enableassertions или –ea для краткости следующим образом:
java –ea AssertionDemo
Утверждения могут быть выборочно включены или отключены на уровне класса или пакета. Выключатель отключен: - для отключения доступа или - для для краткости.
Например, следующая команда включает утверждения в пакете package1 и отключает утверждения в классе Class1.
java –ea:package1 –da:Class1 AssertionDemo
Утверждение не должно использоваться для замены обработки исключений. Обработка исключений связана с необычными обстоятельствами во время выполнения программы. Утверждения должны гарантировать правильность программы. Обработка исключений касается надежности, а утверждение - правильности. Подобно обработке исключений, утверждения используются не для обычных тестов, а для внутренних проверок согласованности и достоверности.
Так что в этом случае лучшим ответом будет обработка исключений.
Не используйте утверждения для проверки аргументов в открытых методах. Допустимые аргументы, которые могут быть переданы в открытый метод, считаются частью контракта метода. Контракт должен всегда выполняться независимо от того, включены ли утверждения или отключены. Например, приведенный выше код должен быть переписан с использованием обработки исключений