Bug С WAS_ERROR при выходе из функции
-
Тестовый скрипт 0_1526832007296_user_fail.xml
Баг заключается, в том, что если мы вызываем функцию и в ней блоке игнорирования ошибок происходит ошибка, то при возврате из функции переменная WAS_ERROR снова становиться false, при том, что до выхода она была true. Переменная LAST_ERROR остается неизменной как и должна.
-
Для ленивых, наглядно
:D
-
@Denis_krsk
Это не баг.
Так и должно быть. У вас произошла ошибка. Блок ее зафиксировал. Потом в следующем блоке уже ошибки нет.
По вашей логике 2 подряд блок должны выдавать ошибку если в одном из блоков будет ошибка, что не верно.
Обрабатывать ошибку нужно сразу после игнора. Если вы хотите что бы вышло из функции при ошибки - сделайте фейл в функции, и игнор ошибок верхний его обработает.
П.С. Ласт еррор не ощичается, она всегда хранит последнюю ошибку, по этому условия строит на одном ласт еррор нельзя
-
@DrPrime Но я не согласен, что так должно быть. Т.к. В начале каждого блока игнора ошибка WAS_ERROR скидывается в false. Поэтому два таких блока подряд отработают нормально. В любом случае тогда было бы логично и очищать LAST_ERROR
-
Скорее это баг который стал нормой ))
-
@Denis_krsk
ну тут спорить можно долго.
Зачем тогда использовать игноры внутри блоков?
Суть вот в чем
Например, я у меня есть блок игнор общий и 1 внутри. 1 внутри например для смены логина, общий для остальных ошибок. По твоей логике я не смогу это реализовать, потому что у меня будет срабатывать общий.
По поводу ласт еррор согласен, к этому уже привыкли)
-
@DrPrime Дак если бы last error обнулялся вопросов бы не было. А так это вводит в заблуждение ((