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



  • @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

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

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


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.