当python函数失败时,我们将获得一个追溯,列出文件名,行和函数调用。
无论如何,在except
块中是否仅提取这些功能名?我只需要列出导致失败的连续调用的列表。
我查看了traceback
库,并在我的异常情况下运行了dir()
,但是我什么也没看到。
答案 0 :(得分:1)
我最后查看了traceback
文档,并弄清楚了。
首先,使用traceback.extract_tb()
获取StackSummary
。这是FrameSummary
对象的列表,这些对象本身是元组,其第三个值是函数名称。全部:
try:
some_function()
except Exception as e:
tb = traceback.extract_tb(e.__traceback__)
for frame in tb:
print(frame[2])
输出将类似于
<module>
some_function
another_func_called_by_some_function
...