anki.errors
===========

.. py:module:: anki.errors


Attributes
----------

.. autoapisummary::

   anki.errors.DeckRenameError
   anki.errors.AnkiError


Exceptions
----------

.. autoapisummary::

   anki.errors.AnkiException
   anki.errors.BackendError
   anki.errors.Interrupted
   anki.errors.NetworkError
   anki.errors.SyncError
   anki.errors.BackendIOError
   anki.errors.CustomStudyError
   anki.errors.DBError
   anki.errors.CardTypeError
   anki.errors.TemplateError
   anki.errors.NotFoundError
   anki.errors.DeletedError
   anki.errors.ExistsError
   anki.errors.UndoEmpty
   anki.errors.FilteredDeckError
   anki.errors.InvalidInput
   anki.errors.SearchError
   anki.errors.SchedulerUpgradeRequired
   anki.errors.AbortSchemaModification


Classes
-------

.. autoapisummary::

   anki.errors.SyncErrorKind


Module Contents
---------------

.. py:exception:: AnkiException

   Bases: :py:obj:`Exception`


   General Anki exception that all custom exceptions raised by Anki should
   inherit from. Allows add-ons to easily identify Anki-native exceptions.

   When inheriting from a Python built-in exception other than `Exception`,
   please supply `AnkiException` as an additional inheritance:

   ```
   class MyNewAnkiException(ValueError, AnkiException):
       pass
   ```


.. py:exception:: BackendError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`AnkiException`


   An error originating from Anki's backend.


   .. py:attribute:: help_page


   .. py:attribute:: context


   .. py:attribute:: backtrace


.. py:exception:: Interrupted(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: NetworkError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:class:: SyncErrorKind(*args, **kwds)

   Bases: :py:obj:`enum.Enum`


   Create a collection of name/value pairs.

   Example enumeration:

   >>> class Color(Enum):
   ...     RED = 1
   ...     BLUE = 2
   ...     GREEN = 3

   Access them by:

   - attribute access:

     >>> Color.RED
     <Color.RED: 1>

   - value lookup:

     >>> Color(1)
     <Color.RED: 1>

   - name lookup:

     >>> Color['RED']
     <Color.RED: 1>

   Enumerations can be iterated over, and know how many members they have:

   >>> len(Color)
   3

   >>> list(Color)
   [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

   Methods can be added to enumerations, and members can have their own
   attributes -- see the documentation for details.


   .. py:attribute:: AUTH
      :value: 1



   .. py:attribute:: OTHER
      :value: 2



.. py:exception:: SyncError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None, kind: SyncErrorKind)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


   .. py:attribute:: kind


.. py:exception:: BackendIOError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: CustomStudyError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: DBError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: CardTypeError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: TemplateError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: NotFoundError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: DeletedError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: ExistsError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: UndoEmpty(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: FilteredDeckError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: InvalidInput(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: SearchError(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: SchedulerUpgradeRequired(message: str, help_page: anki.collection.HelpPage.V | None, context: str | None, backtrace: str | None)

   Bases: :py:obj:`BackendError`


   An error originating from Anki's backend.


.. py:exception:: AbortSchemaModification

   Bases: :py:obj:`AnkiException`


   General Anki exception that all custom exceptions raised by Anki should
   inherit from. Allows add-ons to easily identify Anki-native exceptions.

   When inheriting from a Python built-in exception other than `Exception`,
   please supply `AnkiException` as an additional inheritance:

   ```
   class MyNewAnkiException(ValueError, AnkiException):
       pass
   ```


.. py:data:: DeckRenameError

.. py:data:: AnkiError

