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
обычно используется для проверки внутренних предположений кода (например, проверки аргументов конструктора, состояния переменных) во время разработки.