.. _ref-exceptions:
.. module:: trytond.exceptions

==========
Exceptions
==========


.. exception:: TrytonException

    The base class for all Tryton exceptions.

.. exception:: UserError(message[, description[, domain]])

    The base class for exceptions used to display an error message to users.
    The domain may be a 2-tuple containing a :ref:`domain <topics-domain>` and
    a dictionary of field definitions used to format the domain and append to
    the description.

.. exception:: UserWarning(name, message[, description])

    The base class for exceptions used to display a warning message to users.

.. exception:: LoginExceptions(name, message[, type])

    The exception used to request ``name`` parameter for the login process.

.. exception:: ConcurrencyException(message)

    The exception raised on concurrent modification.

.. exception:: RateLimitException

    The exception raised when user has sent too many login requests.

.. exception:: MissingDependenciesException(missings)

    The exception raised when modules are missing.


.. module:: trytond.model.exceptions

.. exception:: AccessError

    The exception raised when trying to access a record without the rights.

.. exception:: AccessButtonError

    The exception raised when trying to execute a button without the rights.

.. exception:: ImportDataError

    The exception raises when importing data fails.

.. exception:: ValidationError

    The base class for all record validation error.

.. exception:: DomainValidationError

    The exception raised when the domain of a field is not valid.

.. exception:: RequiredValidationError

    The exception raised when a required field is empty.

.. exception:: SizeValidationError

    The exception raised when the size of a field is too big.

.. exception:: DigitsValidationError

    The exception raised when the value of a field does not respect its digits.

.. exception:: SelectionValidationError

    The exception raised when the value is not in the selection.

.. exception:: TimeFormatValidationError

    The exception raised when the time format of a field is not respected.

.. exception:: ForeignKeyError

    The exception raised when a foreign key is not respected.

.. exception:: SQLConstraintError

    The exception raised when a :attr:`~trytond.model.ModelSQL._sql_constraints` is not
    respected.

.. exception:: RecursionError

    The exception raised by :class:`~trytond.model.TreeMixin.check_recursion`.
