Source code for bidict._exc

# -*- coding: utf-8 -*-
# Copyright 2009-2019 Joshua Bronson. All Rights Reserved.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.


"""Provides all bidict exceptions."""


[docs]class BidictException(Exception): """Base class for bidict exceptions."""
[docs]class DuplicationError(BidictException): """Base class for exceptions raised when uniqueness is violated as per the RAISE duplication policy. """
[docs]class KeyDuplicationError(DuplicationError): """Raised when a given key is not unique."""
[docs]class ValueDuplicationError(DuplicationError): """Raised when a given value is not unique."""
[docs]class KeyAndValueDuplicationError(KeyDuplicationError, ValueDuplicationError): """Raised when a given item's key and value are not unique. That is, its key duplicates that of another item, and its value duplicates that of a different other item. """