【发布时间】:2020-07-17 08:35:00
【问题描述】:
我运行了一个带有 for 循环的代码,这需要相当长的时间。在执行的最后,我收到错误消息,以及以下内容:
KeyError: 0
Process finished with exit code 1
现在由于我的代码运行时间很长,是否可以从那里进入调试模式直接导航到导致错误的迭代?我正在专门研究 pycharm,但这更像是一个普遍的问题。
如果不能通过调试器,有没有其他办法?
感谢您的帮助!
PS:我已经在 for 循环中使用少量代码运行了这段代码,它运行良好,但是经过大量迭代后,我在最后得到了这个错误。
【问题讨论】:
-
您可以将内容包装到 try/except 中,并在 except 块下放到
breakpoint(),这将进入调试器。 -
但是,您可能有一个调用,其中字典没有键
0。检查您是否可以使用mydict.get(key)而不是mydict[key]处理此类情况。 -
嗨@Sazzy,谢谢你的回答,我的问题是我可以在不重新运行整个代码的情况下做到这一点吗?是的,这是字典的问题:) 我会用 mydict.get(key) 进行检查
-
您说您运行了一个运行良好的代码小示例。将不正确的数据放入您的示例中,并在大规模运行之前先对其进行调试。
标签: python debugging error-handling pycharm