Игнорировать ошибки, продолжать скрипт



  • Как можно максимально просто игнорировать все ошибки, и чтобы при ошибке скрипт не останавливался, а делал следующий экшен?



  • @justabot, а разве действие "игнорировать ошибки" не подходит для такого?



  • @UA да, но нужно добавлять отдельно каждый случай.
    Например 50 действий, и нужно чтобы он при неудаче просто сделал следущее. Придется каждое из 50 помещать в игнор ошибок



  • @justabot Поставить один блок игнорировать ошибки и все следующие действия писать в нем.



  • @Samael_96 не сработает, нужно каждое действие оборачивать



  • @35xakers said in Игнорировать ошибки, продолжать скрипт:

    @Samael_96 не сработает, нужно каждое действие оборачивать

    ааааааа. .. да, не разобрался, в таком контексте, да, надо каждое действие оборачивать



  • @justabot Я могу добавить что-то подобное, но можете привести пример использования?
    В моем понимании, если просто игнорировать все ошибки на всех действиях, это может быть опасно.
    Например, скрипт отсылает сообщения в личку. Переход к новому юзеру не удался, в результате все сообщения отправились одному и тому же пользователю. В этом же примере, если обернуть весь блок отправки сообщения в игнор ошибок, то скрипт перейдет к следующему пользователю, и отправки сообщения другому пользователю не будет.



  • @support said in Игнорировать ошибки, продолжать скрипт:

    Я могу добавить что-то подобное, но можете привести пример использования?

    Интересно, функционал так и не добавили?
    Пример использования: парсинг списка страниц, на которых в одном случае 2 телефона указано, в другом 1; в одном случае есть описание, в другом нет; в одном случае есть картинка в другом нет. То есть, имеющиеся поля заполнены не строго.



  • @max111 said in Игнорировать ошибки, продолжать скрипт:

    @support said in Игнорировать ошибки, продолжать скрипт:

    Я могу добавить что-то подобное, но можете привести пример использования?

    Интересно, функционал так и не добавили?
    Пример использования: парсинг списка страниц, на которых в одном случае 2 телефона указано, в другом 1; в одном случае есть описание, в другом нет; в одном случае есть картинка в другом нет. То есть, имеющиеся поля заполнены не строго.

    Вынесите парсинг в функцию и оберните вызов в игнор ошибок



  • @support Пример использования: языки программирования, допустим на питоне я чтобы не запариваться любой код оборачивал с помощью хоткея в try-exeption, и я всегда знал в каком месте была ошибка. В Басё уже есть возможность выводить текст ошибки и узнавать в каком месте была ошибка, почему бы не позволить пользователю оборачивать в "игнорирование ошибок" любое количество действий? Реальный пример: написание универсального реггера для определенного движка, мы каким либо парсером анализируем поля на множестве сайтов и потом чтобы не писать простыни блоков: если поле присутствует=>попытаться заполнить, и так 100 раз, или же просто что блоков обернуть в игнорирование ошибок с минимальным таймаутом и указать что в случае ошибки переходить к следующему действию.
    Даже на одном сайте, при заходе из под разных прокси, бывает разный набор полей/кнопок/чекбоксов, обработку которых проще всего обернуть в try.

    Ещё один весомый аргумент: на каждый блок игнорирования, добавляется по 3 дополнительных блока: игнор ошибок, if was error, вывод лога ошибки, также добавляются отступы, от этого всего сильно разрастается проект и ухудшается навигация по нему.

    Я понимаю ваше опасение что если пользователь обернет сразу кучу действий в игнор ощибок, то может случится страшное, но тут есть контр аргументы:
    1)порой важно быстро запилить какой то реггер, который пусть лучше 3 из 10 раз сработает и начнет заново попытку, чем 2, 3 часа или полдня отлавливать все возможные ошибки и расставлять эксепшены к каждому действию, чтобы срабатывало 8 из 10 раз

    1. языки программирования разрабатывали не дураки, и в нескольких точно есть такая возможность. Защита от дурака уже встроенна в басе в виде "if was error",и это прекрасно и этого более чем достаточно, для того чтобы дать пользователю чуть больше свободы.
      С уважением и спасибо


  • @serrgo вы можете засунуть в блок игнора весь скрипт, никто не запрещает. Просто при ошибке точка исполнение переместится на след после блока игнора блок, а не на след после ошибочного действия блок. Как раз это просил тс.
    П.с. Автогенерируемые блоки можно убирать



  • @serrgo У большинства браузерных действий можно снять эти галочки, если этот шаг не критичен.
    2020-03-01_225222.png


Log in to reply