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

原文 标签 python pycharm pdb ipdb

# 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

最佳答案

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

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

相关文章:

python - Python调试器:逐步进入您以交互方式调用的函数

python - 为什么字符串比较和标识在pdb和python控制台中表现不同

python - Google Cloud Function-函数加载错误:预期用于定义函数的文件main.py不存在

python - 如果它是嵌套数组,则无法修改数据集属性

python - Django admin.py:在ModelForm的save方法中,model.save()未调用save_model()

django - 类__str__的Python测试覆盖率

python - Pycharm错误-没有名为MySQLdb的模块

python - Python:如何优化两个大集合之间的比较?

python - 如何处理PyCharm的“预期类型X,改为Y”

android - 在Android数据库上访问PDB文件