from threading import ThreadError class TaskDeniedException(Exception): pass class LockError(ThreadError): ERROR_CODES = { 'ACQUIRE_ERROR': "Unable to acquire. Lock in use by another thread.", 'IN_USE_ERROR': "Lock in use by another thread." } def __init__(self, code, lock): self.code = code if code in LockError.ERROR_CODES: self.message = LockError.ERROR_CODES[code] else: self.message = "Unknown error." self.string = "{}: {}".format(self.code, self.message) print(self.string) ThreadError.__init__(self) def __str__(self): return self.string