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