26 lines
639 B
Python
26 lines
639 B
Python
class DatabaseError(Exception):
|
|
# Inspired by OSError which also uses errno's
|
|
# It's a better approach than using a class for each error
|
|
UNKNOWN_ERROR = -1
|
|
|
|
CONNECTION_ERROR = 1
|
|
EMPTY_CONFIG = 2
|
|
DUPLICATE_ENTRY = 3
|
|
NONEXISTENT_ACCOUNT = 4
|
|
OUT_OF_ACCOUNT_SPACE = 5
|
|
INSUFFICIENT_BALANCE = 6
|
|
INVALID_OPERATION = 7
|
|
MONEY_OVERFLOW = 8
|
|
|
|
def __init__(self, message: str, errno: int, **kwargs):
|
|
|
|
super().__init__(message)
|
|
self.message = message
|
|
self.errno = errno
|
|
|
|
for key, value in kwargs.items():
|
|
setattr(self, key, value)
|
|
|
|
|
|
__all__ = ["DatabaseError"]
|