Как я могу найти, какой объект вызывает ошибку для l oop? - PullRequest
0 голосов
/ 07 января 2020
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']

for element in my_list:
    some_function()

Это ошибка для определенного объекта, но я не могу определить какой. Какой простой способ определить, какой объект содержит ошибку в some_function ()?

1 Ответ

1 голос
/ 07 января 2020

Быстрый способ отладить что-то простое, как это было бы с 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

...