Класс UnimplementedError
Класс UnimplementedError представляет собой ошибку,
которая возникает, когда метод или функция ещё не реализованы.
Он наследуется от класса Error и часто используется
разработчиками в качестве заглушки для методов, которые
планируется реализовать позже. В первый параметр конструктора
мы передаём сообщение с описанием ошибки, во второй -
трассировку стека (необязательный параметр).
Данный класс удобен тем, что позволяет явно указать в коде место, требующее доработки, и выбросить понятную ошибку при вызове такого метода.
Синтаксис
UnimplementedError([String? message])
Пример
Давайте создадим класс с методом, который пока не реализован,
и выбросим ошибку UnimplementedError при его вызове:
class Calculator
{
int add(int a, int b)
{
throw UnimplementedError('Method add is not implemented yet');
}
}
void main()
{
Calculator calc = Calculator();
try
{
print(calc.add(1, 2));
}
on UnimplementedError catch (e)
{
print(e.message);
}
}
Результат выполнения кода:
"Method add is not implemented yet"
Пример
Давайте выбросим ошибку без сообщения и посмотрим,
что вернёт свойство message:
void main()
{
try
{
throw UnimplementedError();
}
on UnimplementedError catch (e)
{
print(e.message);
}
}
Результат выполнения кода:
null
Пример
Давайте проверим, что UnimplementedError является
наследником класса Error, и выведем тип ошибки:
void main()
{
UnimplementedError err = UnimplementedError('Not ready');
print(err is Error);
print(err.runtimeType);
}
Результат выполнения кода:
true
UnimplementedError
Смотрите также
-
оператор
throw,
который выбрасывает исключение -
конструкция
try,
которая позволяет обработать ошибку -
клауза
on,
которая фильтрует тип ошибки -
класс
UnsupportedError,
который сигнализирует о неподдерживаемой операции