# Source code for secretstorage.exceptions

    # SecretStorage module for Python
    # Access passwords using the SecretService DBus API
    # Author: Dmitry Shachnev, 2012-2018
    # License: 3-clause BSD, see LICENSE file

    """All secretstorage functions may raise various exceptions when
    something goes wrong. All exceptions derive from base
    :exc:`SecretStorageException` class."""

    class SecretStorageException(Exception):
        """All exceptions derive from this class."""

    class SecretServiceNotAvailableException(SecretStorageException):
        """Raised by :class:`~secretstorage.item.Item` or
        :class:`~secretstorage.collection.Collection` constructors, or by
        other functions in the :mod:`secretstorage.collection` module, when
        the Secret Service API is not available."""

    class LockedException(SecretStorageException):
        """Raised when an action cannot be performed because the collection
        is locked. Use :meth:`~secretstorage.collection.Collection.is_locked`
        to check if the collection is locked, and
        :meth:`~secretstorage.collection.Collection.unlock` to unlock it.
        """

    class ItemNotFoundException(SecretStorageException):
        """Raised when an item does not exist or has been deleted. Example of
        handling:

        >>> import secretstorage
        >>> connection = secretstorage.dbus_init()
        >>> item_path = '/not/existing/path'
        >>> try:
        ...     item = secretstorage.Item(connection, item_path)
        ... except secretstorage.ItemNotFoundException:
        ...     print('Item not found!')
        ...
        Item not found!
        """

    class PromptDismissedException(ItemNotFoundException):
        """Raised when a prompt was dismissed by the user.

        .. versionadded:: 3.1
        """