Утверждения в JAVA — Утверждение

Java

Введение

Утверждения сделаны с использованием Javaassertзаявление реализовано. Когда утверждение выполняется, оно считается истинным. Если это не удается, JVM бросаетAssertionErrorошибка. Он в основном используется для целей тестирования во время разработки.

assertОператоры используются с булевыми выражениями и могут быть записаны двумя разными способами:

assert expression;
assert expression : errorMessage;

Пример

public class AssertTest {
    public static void main(String[] args) {
    
        int value = 15;
        assert value >= 20 : "Underweight";
        System.out.println("value is " + value);
    }
}

вывод:

value is 15

можно увидетьassertОператор не работает, потому что Java по умолчанию не запускает проверку утверждений при выполнении программы, то есть все операторы утверждений будут игнорироваться.

Если вы хотите включить проверку утверждений, вам нужно использовать-enableassertionsили-eaПараметр JVM для включения; если вы хотите вручную игнорировать проверку утверждения, вы можете использовать-disableassertionsили-daАргумент JVM для игнорирования утверждений.

Выполнение заказаjava -ea AssertTestВывод после включения утверждения:

Exception in thread "main" java.lang.AssertionError: Underweight
	at AssertTest.main(AssertTest.java:11)

Пишите, используя первый безошибочный синтаксис:

public class AssertTest {
    public static void main(String[] args) {

        int value = 15;
        assert value >= 20;
        System.out.println("value is " + value);
    }
}

вывод:

Exception in thread "main" java.lang.AssertionError
	at AssertTest.main(AssertTest.java:11)

Видно, что здесь только брошеноAssertionError, без сообщения об ошибке

Зачем использовать утверждения

  1. Убедитесь, что код, который выглядит недостижимым, на самом деле недоступен
  2. Убедитесь, что предположение верно
  3. удостоверитьсяswitch caseПриговорdefaultотделение недоступно
  4. Проверить состояние объекта
  5. Проверка в начале метода
  6. Проверка после вызова метода

Меры предосторожности

Утверждения в основном используются для проверки логически невозможных ситуаций. Например, их можно использовать для проверки состояния, ожидаемого кодом, до его запуска или после завершения выполнения кода. В отличие от обычной обработки исключений/ошибок, утверждения обычно отключаются во время выполнения.

где использовать утверждения

  1. Параметры приватных методов. Частные параметры предоставляются только кодом разработчика, разработчик может захотеть проверить свои предположения о параметрах.
  2. отраслевые условия, такие какswitch caseутверждение
  3. условие в начале метода

где утверждения не используются

  1. Утверждения не должны использоваться для замены сообщений об ошибках/исключениях.
  2. Утверждения не должны использоватьсяpublicпараметры в методах, как они могут быть предоставлены пользователем
  3. Утверждения не должны использоваться в аргументах командной строки.

резюме

  1. Утверждения — это способ отладки, и ошибки утверждений вызовутAssertionError, утверждения могут быть включены только во время разработки и тестирования
  2. Не используйте утверждения для исправимых ошибок, вместо этого генерируйте исключения
  3. Утверждения редко используются в JAVA, лучше писать модульные тесты.


Использованная литература:

~~~~~~~~GeeksforGeeks - Assertions in Java

~~~~~~~~Учебник Liao Xuefeng Java - использование утверждений