РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
478 of 723 menu

Конструктор error

Конструктор error класса Future создает объект Future, который сразу завершается с ошибкой. В первый параметр мы передаем объект ошибки, во второй - необязательный стек вызовов. Такой Future удобно использовать для тестирования обработки ошибок или для создания заглушек в асинхронном коде.

Синтаксис

Future.error(error, [stackTrace])

Пример

Давайте создадим Future, который завершается с ошибкой, и перехватим ее с помощью метода catchError:

void main() { Future<int> future = Future.error('Something went wrong'); future.catchError((error) { print('Caught: $error'); }); }

Результат выполнения кода:

"Caught: Something went wrong"

Пример

Давайте передадим в конструктор объект исключения Exception:

void main() { Future<void> future = Future.error(Exception('Invalid data')); future.catchError((error) { print(error); }); }

Результат выполнения кода:

"Exception: Invalid data"

Пример

Давайте также передадим стек вызовов вторым параметром и выведем его на экран:

void main() { StackTrace stackTrace = StackTrace.current; Future<void> future = Future.error('Error', stackTrace); future.catchError((error) { print('Caught: $error'); }); }

Результат выполнения кода:

"Caught: Error"

Смотрите также

  • класс Future,
    который представляет результат асинхронной операции
  • метод catchError,
    который обрабатывает ошибки Future
  • метод value,
    который создает Future с успешным результатом
  • метод whenComplete,
    который выполняет код после завершения Future
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить