Assert в Dart

В Dart assert — это инструмент для отладки, который позволяет проверять условия во время разработки. Он принимает логическое условие, и если условие оценивается как false, программа выдает ошибку AssertionError и завершает выполнение (в режиме отладки). assert обычно используется для того, чтобы ловить ошибки программирования на ранней стадии, проверяя предположения, сделанные в коде.

Вот пример того, как работает assert:

void main() {
  int age = 18;

  // Это не вызовет ошибку, так как условие истинно
  assert(age >= 18, 'Возраст должен быть 18 или старше');

  // Это вызовет AssertionError, так как условие ложно
  age = 16;
  assert(age >= 18, 'Возраст должен быть 18 или старше');
}

В этом примере:

  • Первый assert проверяет, что значение переменной age больше или равно 18. Если это так, программа продолжает выполнение.
  • Второй assert выбрасывает ошибку AssertionError, так как значение переменной age установлено на 16, что нарушает условие.

Основные моменты:

  • Работает только в режиме отладки: В продакшн-билдах выражения assert игнорируются, поэтому они не влияют на производительность.
  • Необязательное сообщение: Вы можете добавить необязательное сообщение (например, 'Возраст должен быть 18 или старше'), чтобы помочь определить, что пошло не так.

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