РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
452 of 723 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить