为什么使用 python 调试器时没有定义异常对象?

使用这个例子:


try:

    int('foo')

except ValueError as error:

    print(error)

    import ipdb; ipdb.set_trace()

当我进入 python 调试器并尝试检查错误时,它没有定义:


ipdb> error                                                                                                                                   

*** NameError: name 'error' is not defined

为什么会这样,我该如何检查?


隔江千里
浏览 164回答 2
2回答

呼啦一阵风

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

烙印99

我想这是异常的最后一行,以下示例有效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("")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python