【问题标题】: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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 2017-07-10
    • 2012-03-09
    • 2021-01-10
    相关资源
    最近更新 更多