Конструктор value
Конструктор value класса ArgumentError создает объект ошибки, которая сигнализирует о том, что в функцию или метод был передан недопустимый аргумент. В первый параметр мы передаем значение, которое вызвало ошибку, во второй - необязательное имя параметра, а в третий - необязательное сообщение с дополнительной информацией.
Синтаксис
ArgumentError.value(value, [name, message])
Пример
Давайте создадим ошибку аргумента с помощью конструктора value и выведем ее в консоль:
void main()
{
var err = ArgumentError.value(123, 'count', 'must be positive');
print(err);
}
Результат выполнения кода:
"Invalid argument (count): must be positive: 123"
Пример
Давайте передадим только значение, без имени параметра и сообщения:
void main()
{
var err = ArgumentError.value('abcde');
print(err);
}
Результат выполнения кода:
"Invalid argument: abcde"
Пример
Давайте используем конструктор value внутри функции для проверки входного параметра и выбросим ошибку при неверных данных:
void checkAge(int age)
{
if (age < 0) {
throw ArgumentError.value(age, 'age', 'cannot be negative');
}
print('Age is $age');
}
void main()
{
try {
checkAge(-5);
} catch (e) {
print(e);
}
}
Результат выполнения кода:
"Invalid argument (age): cannot be negative: -5"
Смотрите также
-
класс
ArgumentError,
который представляет ошибку недопустимого аргумента -
метод
value,
который возвращает значение, вызвавшее ошибку -
ключевое слово
throw,
которое выбрасывает исключение -
конструкция
try,
которая позволяет обработать исключение