使用这个例子:try: int('foo')except ValueError as error: print(error) import ipdb; ipdb.set_trace()当我进入 python 调试器并尝试检查错误时,它没有定义:ipdb> error *** NameError: name 'error' is not defined为什么会这样,我该如何检查?
2 回答

呼啦一阵风
TA贡献1802条经验 获得超6个赞
我不知道为什么会出现这种行为,但ipdb.set_trace()在error打印工作之后添加了一条指令(任何东西)。例如:
try:
int('foo')
except ValueError as error:
print(error)
import ipdb; ipdb.set_trace()
""
(我只是""在最后添加)。
我猜想ipdb.set_trace在以下指令处停止程序,因此需要存在这样的指令,但这只是一个猜测。

烙印99
TA贡献1829条经验 获得超13个赞
我想这是异常的最后一行,以下示例有效
try:
int('foo')
except ValueError as error:
import ipdb; ipdb.set_trace()
print(error)
或者
try:
int('foo')
except ValueError as error:
print(error)
import ipdb; ipdb.set_trace()
print("")
添加回答
举报
0/150
提交
取消