Home | History | Annotate | Download | only in library
      1 .. currentmodule:: asyncio
      2 
      3 
      4 .. _asyncio-exceptions:
      5 
      6 ==========
      7 Exceptions
      8 ==========
      9 
     10 
     11 .. exception:: TimeoutError
     12 
     13    The operation has exceeded the given deadline.
     14 
     15    .. important::
     16       This exception is different from the builtin :exc:`TimeoutError`
     17       exception.
     18 
     19 
     20 .. exception:: CancelledError
     21 
     22    The operation has been cancelled.
     23 
     24    This exception can be caught to perform custom operations
     25    when asyncio Tasks are cancelled.  In almost all situations the
     26    exception must be re-raised.
     27 
     28    .. important::
     29 
     30       This exception is a subclass of :exc:`Exception`, so it can be
     31       accidentally suppressed by an overly broad ``try..except`` block::
     32 
     33         try:
     34             await operation
     35         except Exception:
     36             # The cancellation is broken because the *except* block
     37             # suppresses the CancelledError exception.
     38             log.log('an error has occurred')
     39 
     40       Instead, the following pattern should be used::
     41 
     42         try:
     43             await operation
     44         except asyncio.CancelledError:
     45             raise
     46         except Exception:
     47             log.log('an error has occurred')
     48 
     49 
     50 .. exception:: InvalidStateError
     51 
     52    Invalid internal state of :class:`Task` or :class:`Future`.
     53 
     54    Can be raised in situations like setting a result value for a
     55    *Future* object that already has a result value set.
     56 
     57 
     58 .. exception:: SendfileNotAvailableError
     59 
     60    The "sendfile" syscall is not available for the given
     61    socket or file type.
     62 
     63    A subclass of :exc:`RuntimeError`.
     64 
     65 
     66 .. exception:: IncompleteReadError
     67 
     68    The requested read operation did not complete fully.
     69 
     70    Raised by the :ref:`asyncio stream APIs<asyncio-streams>`.
     71 
     72    This exception is a subclass of :exc:`EOFError`.
     73 
     74    .. attribute:: expected
     75 
     76       The total number (:class:`int`) of expected bytes.
     77 
     78    .. attribute:: partial
     79 
     80       A string of :class:`bytes` read before the end of stream was reached.
     81 
     82 
     83 .. exception:: LimitOverrunError
     84 
     85    Reached the buffer size limit while looking for a separator.
     86 
     87    Raised by the :ref:`asyncio stream APIs <asyncio-streams>`.
     88 
     89    .. attribute:: consumed
     90 
     91       The total number of to be consumed bytes.
     92