python - 如何找到哪个对象在for循环中导致错误?

标签 python list loops for-loop error-handling

my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']

for element in my_list:
    some_function()

这在某个对象上出错,但是我不能放置哪个对象。在some_function()上找到哪个对象出错的简便方法是什么?

最佳答案

调试此类简单内容的一种快速方法是使用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

关于python - 如何找到哪个对象在for循环中导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59633960/

相关文章:

python - 如何将 SQL 中的一列数据转换为 python 中的列表?

php - 使用 while 循环或其他循环消除多余的代码

python - 如何在discord.py中创建自定义的Exception/Error Handler类,该类将处理命令特定的错误?

python - 如何将图像数据从 s3 存储桶加载到 sagemaker 笔记本?

python - 我应该使用 list() 还是用括号括起来?

algorithm - 根据匹配规则按连续对过滤数组或列表

r - 使用 xts 创建循环

java - 我应该避免使用 Java 标签语句吗?

python - 使用 python 对点进行排序以获得连续曲线

python - 这是旧 Python 版本中的字典吗?