【发布时间】:2013-03-06 14:51:13
【问题描述】:
我正在使用stomp.py 库通过网络获取 JSON 消息。我改编了他们提供的简单示例 here,它使用回调来提供消息处理。
但是当我修改回调时,我犯了一个简单的错误——例如,我在尝试解析我的 JSON 字符串时调用了 json.load() 而不是 json.loads()。
class MyListener(object):
def on_message(self, headers, message):
data = json.load(message) ## Should be .loads() for a string!
通常这会很好 - 它会出现 AttributeError 并且我会看到回溯。但在这种情况下,Python 会打印:
找不到记录器“stomp.py”的处理程序
...没有回溯,没有崩溃,仅此而已。调试并找出我做错了什么非常令人困惑!我期待至少正常的回溯:
Traceback (most recent call last):
File "./ncl/stomp.py-3.1.3/stompJSONParser.py", line 32, in <module>
[etc etc ...]
...而不是让整个听众感到厌烦。我猜是因为那发生在不同的线程上?
现在我发现它就像回调中的一种运行时错误某种有用的信息,它使编码有点困难。
这是什么原因造成的?我可以做些什么来获取常规的、更详细的回溯?
【问题讨论】:
标签: python json error-handling stomp traceback