1
我有一个这样的文件:Python的类型错误: 'MyException' 对象不是可调用
# filename: auth.py
class DisabledAccountError(Exception):
def __init__(self, uid):
self.uid = uid
def __str__(self):
return repr(self.uid)
class DeletedAccountError(Exception):
def __init__(self, uid):
self.uid = uid
def __str__(self):
return repr(self.uid)
def login_validation(account):
if login_info.status == OBJECT_STATUS_DISABLED:
raise DisabledAccountError(login_info.uid) # this is line 426
if login_info.status == OBJECT_STATUS_DELETED:
raise DeletedAccountError(login_info.uid)
但有时,服务器会报告某些错误是这样的:
但堆栈跟踪很奇怪:
TypeError: 'DeletedAccountError' object is not callable
File "xxxxxx.py", line 104, in login_validation
login_info = auth.login_validation(account)
File "auth.py", line 426, in login_validation
raise DisabledAccountError(login_info.uid)
这个错误是怎么发生的?
为什么错误是DeletedAccountError
但栈跟踪是DisabledAccountError
?
我不能自己重现错误。我都试图禁用一个帐户并删除一个帐户。但它确实发生在我们的生产服务器上。
我们在多线程和多进程中使用'uwsgi'。 – Dozer
这确实很奇怪。你确定代码的其余部分没有什么与你的问题相关吗?这真的是完整的追溯? – Schmuddi