我有一个追溯对象,我希望以调用traceback.format_exc()
时得到的漂亮格式显示。
这有内置功能吗?还是几行代码?
答案 0 :(得分:25)
format_exc实际上只是
etype, value, tb = sys.exc_info()
return ''.join(format_exception(etype, value, tb, limit))
因此,如果您准备好异常类型,值和回溯,那么应该很容易。如果您只有例外,请注意format_exception
本质上是
list = ['Traceback (most recent call last):\n']
list = list + format_tb(tb, limit)
其中limit默认为None。
答案 1 :(得分:7)
答案 2 :(得分:2)
traceback
个文档提供了few examples和whole set of functions来格式化回溯对象。
答案 3 :(得分:0)
在任何地方都找不到这个,所以我把它贴在这里供未来的人和我未来的自己。
try:
raise Exception('Not an Exception')
except Exception as err:
msg = "".join(traceback.format_exception(type(err), err, err.__traceback__))
print(msg)
这会接受您的异常并提供与 python 的默认异常打印机/print_tb
格式相同的字符串