【问题标题】:How can I find which object causes an error in for loop?如何在 for 循环中找到导致错误的对象?
【发布时间】:2020-01-07 18:17:37
【问题描述】:
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']
for element in my_list:
some_function()
此错误在某个对象上,但我无法放置哪个。在 some_function() 上找出哪个对象出错的简单方法是什么?
【问题讨论】:
标签:
python
list
loops
for-loop
error-handling
【解决方案1】:
使用pdb 可以快速调试这种简单的事情。例如:
import pdb
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']
for element in my_list:
pdb.set_trace()
some_function()
在这种情况下,您会在每次迭代时停止,因此您可以尝试添加 try-except:
import pdb
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']
for element in my_list:
try:
some_function()
except:
pdb.set_trace()
现在当错误被抛出时,你会中断,你可以看到哪个element。这样,您将知道是哪个元素导致了问题,而无需在每次迭代时停止。
pdb 的文档链接:
https://docs.python.org/3.2/library/pdb.html