error.py 1.5 KB
Newer Older
1 2 3
"""Python exceptions
"""

4

5 6 7 8 9
class Error(Exception):
    def __init__(self, msg=None, errno=None):
        self.msg = msg
        self._full_msg = self.msg
        self.errno = errno
10

11 12 13
    def __str__(self):
        return self._full_msg

14

15 16 17 18 19
class Warning(Exception):
    """Exception raised for important warnings like data truncations while inserting.
    """
    pass

20

21
class InterfaceError(Error):
22
    """Exception raised for errors that are related to the database interface rather than the database itself.
23 24 25
    """
    pass

26

27
class DatabaseError(Error):
28
    """Exception raised for errors that are related to the database.
29 30 31
    """
    pass

32

33 34 35 36 37
class DataError(DatabaseError):
    """Exception raised for errors that are due to problems with the processed data like division by zero, numeric value out of range.
    """
    pass

38

39 40 41 42 43 44 45 46 47 48 49
class OperationalError(DatabaseError):
    """Exception raised for errors that are related to the database's operation and not necessarily under the control of the programmer
    """
    pass


class IntegrityError(DatabaseError):
    """Exception raised when the relational integrity of the database is affected.
    """
    pass

50

51 52 53 54 55
class InternalError(DatabaseError):
    """Exception raised when the database encounters an internal error.
    """
    pass

56

57 58 59 60 61
class ProgrammingError(DatabaseError):
    """Exception raised for programming errors.
    """
    pass

62

63 64 65
class NotSupportedError(DatabaseError):
    """Exception raised in case a method or database API was used which is not supported by the database,.
    """
66
    pass