我在我的GAE应用中使用ereporter通过电子邮件通知所有未捕获例外情况。但我也希望了解其他(处理过的)问题,因此,我使用以下代码:
if something:
pass
else:
logging.exception('something is wrong')
但是ereporter在AttributeError
:
Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ereporter/ereporter.py", line 227, in emit
signature = self.__GetSignature(record.exc_info)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ereporter/ereporter.py", line 175, in __GetSignature
fulltype = '%s.%s' % (ex_type.__module__, ex_type.__name__)
AttributeError: 'NoneType' object has no attribute '__module__'
我明白为什么会这样 - 没有真正的例外。但是还有什么方法可以用ereporter记录这些案例吗?
答案 0 :(得分:0)
正如你自己所说 - 报道也不例外。由于ereporter
似乎仅报告异常,因此解决方案很明确:
if something:
pass
else:
try:
raise Exception()
except Exception:
logging.exception('something is wrong')