Документация Python неофициальный перевод

asyncio-exceptions.md

84 строк · 3.9 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.7/library/asyncio-exceptions.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Исключения89#### `exception asyncio.TimeoutError`1011Операция превысила заданный срок.1213> **Важно**14>15> Это исключение отличается от встроенного [`TimeoutError`](https://python-all.ru/3.7/library/exceptions.html#TimeoutError) исключения.1617#### `exception asyncio.CancelledError`1819Операция отменена.2021Это исключение можно перехватить для выполнения пользовательских операций при отмене задач asyncio. Почти во всех ситуациях исключение должно быть возбуждено повторно.2223> **Важно**24>25> Это исключение является подклассом [`Exception`](https://python-all.ru/3.7/library/exceptions.html#Exception), поэтому оно может быть случайно подавлено слишком широким блоком `try..except`:26>27> ```python28> try:29>     await operation30> except Exception:31>     # Отмена нарушена, потому что блок *except*32>     # подавляет исключение CancelledError.33>     log.log('an error has occurred')34> ```35>36> Вместо этого следует использовать следующий шаблон:37>38> ```python39> try:40>     await operation41> except asyncio.CancelledError:42>     raise43> except Exception:44>     log.log('an error has occurred')45> ```4647#### `exception asyncio.InvalidStateError`4849Некорректное внутреннее состояние [`Task`](https://python-all.ru/3.7/library/asyncio-task.html#asyncio.Task) или [`Future`](https://python-all.ru/3.7/library/asyncio-future.html#asyncio.Future).5051Может возникнуть в ситуациях, например, при установке значения результата для объекта *Future*, у которого уже задано значение результата.5253#### `exception asyncio.SendfileNotAvailableError`5455Системный вызов «sendfile» недоступен для указанного типа сокета или файла.5657Подкласс [`RuntimeError`](https://python-all.ru/3.7/library/exceptions.html#RuntimeError).5859#### `exception asyncio.IncompleteReadError`6061Запрошенная операция чтения не завершилась полностью.6263Вызывается [потоковыми API asyncio](https://python-all.ru/3.7/library/asyncio-stream.html#asyncio-streams).6465Это исключение является подклассом [`EOFError`](https://python-all.ru/3.7/library/exceptions.html#EOFError).6667#### `expected`6869Общее количество ([`int`](https://python-all.ru/3.7/library/functions.html#int)) ожидаемых байтов.7071#### `partial`7273Строка из [`bytes`](https://python-all.ru/3.7/library/stdtypes.html#bytes), прочитанная до достижения конца потока.7475#### `exception asyncio.LimitOverrunError`7677Достигнут лимит размера буфера при поиске разделителя.7879Вызывается [потоковыми API asyncio](https://python-all.ru/3.7/library/asyncio-stream.html#asyncio-streams).8081#### `consumed`8283Общее количество байтов, которые должны быть потреблены.84