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