ZIK1337
@ZIK1337

Почему возникает ошибка с выходом за пределы списка, когда этого не происходит?

В приложении в списке находятся аккаунты, которые в цикле (по индексам списка) передаются потокам по одному.
Сам список не меняется в процессе работы программы, собственно если бы менялся, не доходило бы до конца нормально.

Допустим список из 4000 элементов, и вот ошибка
list index out of range
возникает, допустим при прошлом запуске, уже на 167 элементе, а последняя из таких ошибок на 1257 (то есть далее спокойно обрабатывает оставшиеся 2700 элементов)
Из 4000 элементов с такой ошибкой вышло 64

А что самое интересное, в файл иногда записывается элемент из списка по этому индексу, а иногда нет.

for i in range(0, len(self.accounts)):
            while current_thread == max_threads:
                sleep(0.1)
            current_thread += 1
            try:
                x = threading.Thread(target=self.check_account,
                                     args=(self.accounts[i], token_check, thread_proxy, thread_ua),
                                     daemon=True)
                x.start()
            except Exception as e:
                with open('error\ошибки при запуске потоков.txt', mode='a', encoding='utf-8') as file:
                    try:
                        file.write(str(datetime.today()) + '\n' + str(e) + '\n' + 'Акк: ' + self.accounts[i] + '\n' + '\n')
                    except Exception as e:
                        file.write(str(datetime.today()) + '\n' + str(e) + '\n' + 'Акк: не получил' + '\n' + '\n')
                self.check_count.setText(str(int(self.check_count.text()) + 1))
                current_thread -= 1

И вот, что заносится в файл ошибок:
spoiler
2NUnN9o.jpg

Как видите, очень странно, даже в файл иногда заносится этот элемент списка, то есть за пределы уж точно не вышло, но поток почему-то не запускается.
А иногда и не может получить элемент списка.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 23:46
20000 руб./за проект
24 нояб. 2024, в 23:07
2000 руб./за проект