72 lines
1.2 KiB
Python
Raw Normal View History

2018-10-24 00:34:44 -05:00
"Core exceptions raised by the Redis client"
from redis._compat import unicode
class RedisError(Exception):
pass
# python 2.5 doesn't implement Exception.__unicode__. Add it here to all
# our exception types
if not hasattr(RedisError, '__unicode__'):
def __unicode__(self):
if isinstance(self.args[0], unicode):
return self.args[0]
return unicode(self.args[0])
RedisError.__unicode__ = __unicode__
class AuthenticationError(RedisError):
pass
class ConnectionError(RedisError):
pass
class TimeoutError(RedisError):
pass
class BusyLoadingError(ConnectionError):
pass
class InvalidResponse(RedisError):
pass
class ResponseError(RedisError):
pass
class DataError(RedisError):
pass
class PubSubError(RedisError):
pass
class WatchError(RedisError):
pass
class NoScriptError(ResponseError):
pass
class ExecAbortError(ResponseError):
pass
class ReadOnlyError(ResponseError):
pass
class LockError(RedisError, ValueError):
"Errors acquiring or releasing a lock"
# NOTE: For backwards compatability, this class derives from ValueError.
# This was originally chosen to behave like threading.Lock.
pass