PyCharm debug步入except代码块时如何查看异常traceback信息?
PyCharm调试except块时查看捕获异常traceback的实现方法
该需求完全可以实现,以下是三种常用操作方案:
- 方案1:修改except声明绑定异常实例,通过变量面板直接查看
调整示例代码的except声明,将捕获的异常绑定到变量:
断点触发后,在调试窗口的「Variables」面板找到变量try: raise_exc() except MyException as e: handle_exc() # <- 当前调试断点位置e,展开后找到__traceback__属性,里面存储了完整的栈回溯信息,包含异常抛出位置、每层调用的参数与对应行号。 - 方案2:无需修改代码,使用调试器表达式求值功能获取
断点触发后,按下快捷键Alt+F8(Windows/Linux)或Option+F8(macOS)调出「Evaluate Expression」窗口,输入sys.exc_info()点击求值,即可拿到包含当前异常类型、异常实例、traceback对象的三元组,展开第三项即可查看完整回溯。
如果首次运行提示sys未定义,先在表达式输入框执行import sys再重新求值即可 - 方案3:配置异常断点提前捕获异常
如果你不需要等代码走到except块,也可以通过顶部菜单栏「Run → View Breakpoints」添加Python异常断点,选择对应的MyException类型,异常抛出时调试器会直接停在抛出位置,默认就会展示完整的traceback栈信息,无需额外操作。
内容的提问来源于stack exchange,提问作者David Taub
相关产品推荐
相关产品推荐

