Непонятки с игнорированием ошибок

Поддержка
  • @Fox @Antonio понял, большое спасибо за ответы, коллеги!

  • @Fox @Antonio @daemons
    К сожалению, после того как вынес метку над игнорирование ошибок проблема осталась.
    Первый раз ошибку игнорирует, поднимается по метке, но как только ошибка повторяется- уже останавливает скрипт.
    В итоге скрипт работает около суток, за которые ловит две ошибки и останавливается.

    Ошибка

    Поток завершился с сообщением "Не удалось получить страницу https://test.com с помощью ХТТП клиента"
    

    Из-за чего вообще такая ошибка появляется и как ее повторить? Из-за нерабочих прокси? Если я отключаю интернет или использую нерабочий урл ошибка другая и тестовый скрипт с многократными ошибками проходит без проблем, то есть повторить условия наступления неработоспособности не получается.

    Could not resolve host: test.com
    

    Прилагаю скриншоты как выглядит структура скрипта в данный момент. Заранее спасибо за помощь. Скрипт дать не могу по причинам конфиденциальности, могу дать урезанный, но хотелось бы понять самому, для начала как повторить ошибку.
    Общий вид (Main)
    0_1519893723239_ignor1.JPG
    Функция was_error
    0_1519893849782_ignor2.JPG

  • @romanbiz, тогда оберни буквально каждое действие в игнор и сразу после делай по was error вывод в лог last error. Или хотя бы http загрузку сайта оберни отдельно с выводом в лог. Или/и воспользуйся кодом для вывода в лог id всех действий (из темы с лайфхаками). Надо это дело дебажить.

    @romanbiz said in Непонятки с игнорированием ошибок:

    Из-за чего вообще такая ошибка появляется и как ее повторить? Из-за нерабочих прокси?

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

  • @Antonio said in Непонятки с игнорированием ошибок:

    оберни буквально каждое действие в игнор

    @Antonio спасибо за ответ, думал об этом, но хотел обойтись, так как у меня 15 функций в которых по 3-5 post-get обращений в каждом, хочется поэлегантнее чтобы выглядело и читалось.

  • @romanbiz, ну это можно потом убрать - главное понять в чем тут проблема.

  • а когда из функции переходешь на метку после чего вызываешь ту же функцию рекурсии не получается, возможно при возврате по теку вверх проблемы с переменной VAR_WAS_ERROR проблемма, потомушто при возврате состояние не сохраняется. попробуй добавить в лог VAR_WAS_ERROR и посмотреть на ее состояние в разные моменты
    и нет проблем написать main_func которя бы случайно генерировала ошибку, и не помешало бы
    но намто можно

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

  • @ruzne извините, я ничего не понял (

  • @romanbiz said in Непонятки с игнорированием ошибок:

    @ruzne извините, я ничего не понял (

    неудобно как то даже спросить, с понятием рекурсии знакомы?

    Вы из функции wass_error() вызываете функцию wass_error(), я думаю.
    что бы проверить так это или нет, поставьте после в функции wass_error() после экшена перейти по метке какойто еще екшен и посмотрите выполница ли он когда-нибудь.
    я с проблемой рекурсивного вызова в БАС столкнулся до этого и поимел проблемы
    ReferenceError: Can't find variable: IF_ELSE_EXPRESSION

  • и я так понимаю повторить не можете два подряд завершения main_function с ошибкой,
    я думаю, это main_function с одним экшеном в нутри может быть какое-нибуть действие в браузере до его открытия/создания, сто пудов два раза ошибку даст подряд.

  • @ruzne said in Непонятки с игнорированием ошибок:

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

    Там отправка ошибки в Телеграм. Если бы была рекурсия, то шел бы спам.

  • @ruzne said in Непонятки с игнорированием ошибок:

    какое-нибуть действие в браузере до его открытия/создания

    Такой скрипт даже не запустится.

  • @Antonio В общем методом тыка понял как повторить ошибку в тестовом скрипте. Ставлю неработающий сайт и таймаут 1 секунду, получается ошибка

    [980002018] [13:36:32] Поток №1 : Не удалось получить страницу https://lentasvrdvrb.ru с помощью ХТТП клиента
    

    Сделал вложенность функций в 4 уровня как у меня в скрипте максимум бывает. Все работает, ошибки игнорируются. Буду думать и тестировать.

  • @Antonio said in Непонятки с игнорированием ошибок:

    @ruzne said in Непонятки с игнорированием ошибок:

    какое-нибуть действие в браузере до его открытия/создания

    Такой скрипт даже не запустится.

    но почему же, если завернуть его в игрнорировать ошибки

  • @ruzne, попробуй.

  • @Antonio said in Непонятки с игнорированием ошибок:

    @ruzne, попробуй.

    мне стало интересно, я не создаю браузер, и пытаюсь получить текст или чтото около того, поведением я удевлен, но техничски запустить я такой скрипт смог(upd: не с первого раза, там видна зависимость, если такая ошибка возникает при первом вызове функции - то крашится и говорит что нет браузера даже если внутри игнороровать ошибку, если ошибка возникает позже, то даже завершается как надо). ).
    0_1519903393309_test.xml

    и да рукурсии там вероятно не будет(а может и нет), это я тоже проверил

    другое предположение: для игнорировать ошибки, не все ошибки возникающие внутри функции находящиеся внутри блока игнорировать ошибки одинаково полезны

  • 0 Votes
    2 Posts
    417 Views
  • Фикс ошибок

    Moved Поддержка
    0 Votes
    2 Posts
    288 Views
  • 0 Votes
    2 Posts
    427 Views
  • 0 Votes
    2 Posts
    519 Views
  • Баг с прокси

    Поддержка
    0 Votes
    5 Posts
    1974 Views