А есть ли аналог BED END ?
-
@Gang
скорее всего какая то ошибка у тебя в логике.Игнор ошибок Загрузить - тут нет ошибки. was_error false Игнор ошибок Двигать мишь - тут ошибка выкинуло с блока, тут was_error true Ввод текста - ошибки нет Вышли из блока was_error false, но lasterror содержит предыдущую ошибку Условие была ли ошибка
-
@DrPrime said in А есть ли аналог BED END ?:
@Gang
скорее всего какая то ошибка у тебя в логике.Игнор ошибок Загрузить - тут нет ошибки. was_error false Игнор ошибок Двигать мишь - тут ошибка выкинуло с блока, тут was_error true Ввод текста - ошибки нет Вышли из блока was_error false, но lasterror содержит предыдущую ошибку Условие была ли ошибка
Кидаю свои тестовые шаблоны. Проверьте пожалуйста у себя.
-
Тут есть неизвестная ошибка в теле скрипта. Все отрабатывает как вы и говорите, конфликта нет.
0_1504382353472_test_bad_end_1.xml -
Тут НЕТ неизвестных ошибок в теле скрипта. Но финишный if([[WAS_ERROR]]) все равно выполнится. В нем сохраняется значение от внутреннего блока игнора.
0_1504382456837_test_bad_end_2.xml
Нужно универсальное решение. Чтоб при любой неизвестной ошибке отрабатывал финишный if([[WAS_ERROR]]). При этом ошибки которые возникают в теле скрипта и обрабатываются внутренними игнорами, не учитываются.
-
-
@Gang Да, действительно так. Странно. Хотя у меня много скриптов построены по логике выше. Скорее всего не сталкивался с этим, потому что обычно в обработке внутреннего блока идет например, смена прокси и т.д., после чего идет снова игнор ошибок
-
@DrPrime Выходит мое решение с присваиванием [[WAS_ERROR]] = false после каждого внутреннего игнора верное? Ну чтоб универсальный BAD END сделать? Или есть другие варианты?
-
@DrPrime Ни чего странного здесь нет, в мануале так и пишут:
Вы можете прочитать переменную WAS_ERROR чтобы проверить, были ли ошибки во время последнего блока «Игнорировать Ошибки».
То есть это логично, что переменная не обнулилась после выхода из блока игнорирование ошибок, более того, такое поведение было бы странным и не правильным. Ведь не известно, где мне пригодится значение этой переменной.
@Gang Кто то на форуме уже предлагал @support 'y сделать опцию, игнорирование всех ошибок, но он отказался, потому что надёжнее правильно оформить логику скрипта, чем получить работу скрипта с непонятными данными..
По большому счёту ошибку может вернуть не так уж и много экшенов. Вы ведь не по координатам кликаете? Да и можно вставить экшен проверить виден ли элемент на экране и тому подобное.
-
-
@Gang Ещё не забывайте, что если в блоке игнорировать ошибки экшен вернёт ошибку, то последующие просто пропустятся.
Вот ваш же скрипт с этими действиями.
-
@Fox said in А есть ли аналог BED END ?:
@Gang Ещё не забывайте, что если в блоке игнорировать ошибки экшен вернёт ошибку, то последующие просто пропустятся.
Вот ваш же скрипт с этими действиями.Ну это я все в курсе) Тут штука в том что ошибка от внутреннего блока игнора передается во внешний.
-
@Gang Ну раз вкурсе, тогда не вижу проблему :) Устанавливаете значение переменной вручную после перехода из внешнего игнора во внутренний и по выходу во внешний тоже.
А вообще интересная тема, надо @support 'a спросить на этот счёт, должно ли менятся значение [[WAS_ERROR]] после перехода из внешнего игнорирования ошибок во внутренний.
-
@Fox Да, это баг, что переменная не обновляется, исправлю завтра.
-
Исправил, будет в следующей.
-