Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
453 of 724 menu
◀ ▶

Класс TimeoutException

Класс TimeoutException представляет собой исключение, которое возникает при превышении допустимого времени ожидания выполнения операции. Данный класс наследуется от класса Exception. Первым параметром конструктор принимает сообщение об ошибке, вторым - длительность тайм-аута в формате Duration. Класс часто используется совместно с методом timeout для ограничения времени выполнения асинхронных операций.

Синтаксис

TimeoutException(String message, [Duration? duration])

Пример

Давайте создадим исключение TimeoutException с сообщением об ошибке и выведем его на экран:

void main() { try { throw TimeoutException('Operation timed out'); } on TimeoutException catch (e) { print(e.message); } }

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

"Operation timed out"

Пример

Давайте создадим исключение TimeoutException с указанием длительности тайм-аута и выведем его на экран:

void main() { try { throw TimeoutException('Timeout', Duration(seconds: 5)); } on TimeoutException catch (e) { print(e.message); print(e.duration); } }

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

"Timeout" 0:00:05.000000

Пример

Давайте используем метод timeout для ограничения времени выполнения асинхронной операции и обработаем исключение TimeoutException:

Future<String> fetchData() { return Future.delayed(Duration(seconds: 3), () => 'abcde'); } void main() async { try { String res = await fetchData().timeout(Duration(seconds: 1)); print(res); } on TimeoutException catch (e) { print('Caught: ${e.message}'); } }

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

"Caught: Future not completed"

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

  • ключевое слово throw,
    которое выбрасывает исключение
  • конструкция try,
    которая позволяет обработать исключение
  • конструкция on,
    которая указывает тип исключения
  • класс Exception,
    который является родительским классом
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить