我有一个回溯对象,我想以调用
traceback.format_exc()
时获得的良好格式显示。
有内置函数吗?或者几行代码?
format_exc()
真的只是
etype, value, tb = sys.exc_info()
return ''.join(format_exception(etype, value, tb, limit))
因此,如果您准备好异常类型、值和回溯,那么这应该很容易。如果您只有例外,请注意
format_exception()
本质上是:
a_list = ['Traceback (most recent call last):\n']
a_list = a_list + format_tb(tb, limit)
其中
limit
默认为 None
。
进一步帮助澄清
format_exc()
的(简单)应用:
import traceback
try:
# Some code
except Exception:
print('\nThe following error occurred:\n',
traceback.format_exc(),
'Processing aborted.\n',
sep='\n')
# sys.exit(1)
在任何地方都找不到这个,所以我将其发布在这里,供未来的人和我未来的自己。
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