python - 调试时如何跳过行抛出异常

# process_with_huge_time_overhead()
list_a = [1,2,3]
print(list_a[3])
# process_with_huge_time_overhead()
new_data = [5,6,7]
list_a += new_data


在ipdb中到达此行(通过python -m ipdb script.py调用)后,将引发异常:IndexError
enter image description here

一个人如何能够继续调试并跳来跳去,而又不经历再次达到这一点的开销呢?

如果我跳到第62行并使用n命令执行下一行,则该行不起作用。每个n都将继续退出程序。

enter image description here

最佳答案

不更改程序就无法执行此操作。

调试器遵循代码执行。如果抛出错误,调试器将继续遵循错误处理的程序流程。如果错误未由您处理,则会发生崩溃。这是预期的行为,调试器将遵循它。

本文翻译自 https://stackoverflow.com/questions/45746921/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 python pycharm pdb ipdb


相关文章:

python - 如何存储python鼻子测试的测试数据?

python - PyCharm无法找到模块'math'

python - Python / Pycharm,Ctrl-Space不会显示代码完成

python - 如何在库模块(pdb)中设置断点

python - 在pdb中如何重置list(l)命令行计数?

python - 从目录导入模块而不接触sys.path

python - SQLAlchemy关系错误:对象没有属性“ c”

python - 如何在django中为用户模型添加自定义权限?

javascript - 在PyCharm中使用KnockoutJS解决“未解决的函数或方法observable()”警告

c# - 何时实际加载pdb文件