Прерывается проход по списку в цикле Foreach

Поддержка
  • Всем привет!

    Есть простой скрипт - чекер. Берет из списка записи в цикле foreach и проверяет на валидность. Алгоритм скрипта на скрине.
    Добавлены кубики игнорировать ошибки. Когда возникает какая либо ошибка, например, недогрузился элемент скрипт выкидывает ошибку и начинает цикл заново с первой записи.
    Хотя, вроде как, должен продолжать со следующей записи в списке. Как сделать чтобы скрипт игнорировал ошибки и продолжал перебор по списку, а не начинал с начала списка ?

    00.jpgfenix.jpg

  • @orlov1 said in Перезапуск цикла Foreach:

    начинает перебор с начала списка. Почему ?

    Потомучто в списке не удаляються данные, если удалять строки из списка, следующий елемент в цикле будет следующий за удаленным.
    Если у вас поток прирываеться, как на скрине, то данные будут с полного списка, нужно чтоб поток не прирывался.
    13f44699-254d-493c-8a65-b2cb7c8927fb-image.png Оберните в игнор ошибок это действие

  • Так есть игнор ошибок. В том и вопрос почему ошибка прерывает цикл. Я понимал так, что ошибка игнорируется и цикл продолжает перебор пока список не закончится.

  • @orlov1 Сейчас игнор ошибок на весь цикл, любое действие которое находиться внутри и вызывает ошибку завершает цикл. Вам необходимо обернуть в игнор только то действие которое вызвало ошибку, при этом цикл не прирветься и продолжиться.

  • Вот завернуты в игнор те действия, которые вызывают ошибки
    01.jpg

    Однако судя по логу, при возникновении ошибки именно на этих элементах цикл перезапускается. См лог
    00.jpg

    Как избежать перезапуск цикла ?

  • @orlov1 said in Прерывается проход по списку в цикле Foreach:

    те действия, которые вызывают ошибки

    Не все. Обратите внимание, что ошибку так-же вызвало 0203ef55-ddf9-4567-ac6a-4ea88293d2ab-image.png после чего поток и завершился