python-3.x - 从异常中获取函数调用堆栈
问题描述
当 python 函数失败时,我们会得到一个列出文件名、行和函数调用的回溯。
无论如何,在一个块内,是否只except
提取这些函数名称?我只想列出导致失败的连续调用。
我查看了traceback
库并运行dir()
了我的异常,但我什么也没看到。
解决方案
我最后看了一下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
...
推荐阅读
- api - 谷歌云管理员身份验证
- node.js - node-mysql2:结果集未反映最新结果
- javascript - Javascript剪贴板复制功能不起作用onclick锚标记onclick
- python - 如果使用 xlwings 在 python 中不存在新工作表,如何添加新工作表
- rest - HAPROXY 如何监听 api 休息
- jenkins-pipeline - 将文件内容配置为詹金斯中的复选框列表
- android - com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
- linux - 替换shell脚本中的子字符串
- spring-boot - 为控制器中的参数添加自定义验证注释 - JSR-303
- jsf - 如何使用 h:commandLink 更新和打开 ap:dialog 而无需重新加载其他组件