如何在调试python时从异常中恢复?
问题描述:
单步执行pdb中的代码时,任何异常立即结束程序。我该如何修复异常并继续调试?有没有办法避免重新启动程序的开销?如何在调试python时从异常中恢复?
看起来像许多py调试器共享这种烦恼:pdb,ipdb,pycharm,pydev。
答
一旦我找到它崩溃的地方,我会经常设置try/except
块来帮助找出原因。
try:
# code that causes exception
except WhateverException as err: # be specific with the type of exception
import pdb; pdb.set_trace()
else:
# do what you'd normally do
你可以捕获该异常,运行'pdb.post_mortem()'的'except'块捅了一下周围,然后将继续执行,因为异常被处理。 – Will