@FastSpace если честно, то разработчику и не нужно ничего делать если у вас в стране чебурнет. Тут как бы могут быть советы, о том, как чебурнет обойти ...
Продолжить выполнение действий после ошибки с того же места
-
Всем привет. Имеется большой алгоритм. Необходимо сделать на каждое действие игнорирование ошибок, т.к. как показала практика, они могут случиться на ровном месте из-за непонятного бага. И именно в этот момент нужно запомнить место, где произошла ошибка, затем выполнить это действие ещё раз и продолжить выполнение алгоритма. Возможно ли такое реализовать?
-
-
@androsha said in Продолжить выполнение действий после ошибки с того же места:
@tet-vivi я бы не назвал это правильным решением моей поставленной задачи. В данном варианте алгоритм будет выполняться с самого начала, где поставлена метка. А нужно, чтобы он переходил именно к тому действию, где случилась ошибка
ставь метку перед тем местом.
в примере 1 действо 1 обработка ошибки и возврат к началу этой ошибки.в 1 сообщении ты писал что у тебя 1 дествие в блоке "игнорировать ошибки", во 2 сообщении у тебя что уже несколько действий в блоке "игнорировать ошибки"?
кроме метки есть альтернатива GOTO реализацию на js.
но метки и так выполнят поведение GOTO.
Больше альтернатив нету. -
-
@androsha said in Продолжить выполнение действий после ошибки с того же места:
А таких действий порядка 200 шт.
200 это среднячек.
я например делаю сразу что бы игнорирование ошибок использовать по минимум. во-первых.
можно метку внутрь блока игнорирование ошибок поставить -
@androsha said in Продолжить выполнение действий после ошибки с того же места:
Всем привет. Имеется большой алгоритм. Необходимо сделать на каждое действие игнорирование ошибок, т.к. как показала практика, они могут случиться на ровном месте из-за непонятного бага. И именно в этот момент нужно запомнить место, где произошла ошибка, затем выполнить это действие ещё раз и продолжить выполнение алгоритма. Возможно ли такое реализовать?
Ошибки нужно обрабатывать, а не игнорировать. Ваш озвученный алгоритм может просто встать в бесконечный цикл, если что то пошло не так (будет пытаться найти несуществующий элемент)
-
@Fox said in Продолжить выполнение действий после ошибки с того же места:
@androsha said in Продолжить выполнение действий после ошибки с того же места:
Всем привет. Имеется большой алгоритм. Необходимо сделать на каждое действие игнорирование ошибок, т.к. как показала практика, они могут случиться на ровном месте из-за непонятного бага. И именно в этот момент нужно запомнить место, где произошла ошибка, затем выполнить это действие ещё раз и продолжить выполнение алгоритма. Возможно ли такое реализовать?
Ошибки нужно обрабатывать, а не игнорировать. Ваш озвученный алгоритм может просто встать в бесконечный цикл, если что то пошло не так (будет пытаться найти несуществующий элемент)
какая задача такой и ответ. а обработку оно и понятно нужно, хотябы от вечного цикла...
-
@Fox имеется много действий, которые загружают страницы. Иногда происходит таймаут по неизвестной мне причине. Ещё бывает происходит действие "Проверить существование элемента" и таймаут. Судя по происходящему это баги или ПК не справляется с такой мощностью при многопоточности, отчего и происходит ошибка. Мне вот поэтому нужно игнорировать ошибки в каждом действии
-
@tet-vivi said in Продолжить выполнение действий после ошибки с того же места:
@Fox said in Продолжить выполнение действий после ошибки с того же места:
@androsha said in Продолжить выполнение действий после ошибки с того же места:
Всем привет. Имеется большой алгоритм. Необходимо сделать на каждое действие игнорирование ошибок, т.к. как показала практика, они могут случиться на ровном месте из-за непонятного бага. И именно в этот момент нужно запомнить место, где произошла ошибка, затем выполнить это действие ещё раз и продолжить выполнение алгоритма. Возможно ли такое реализовать?
Ошибки нужно обрабатывать, а не игнорировать. Ваш озвученный алгоритм может просто встать в бесконечный цикл, если что то пошло не так (будет пытаться найти несуществующий элемент)
какая задача такой и ответ. а обработку оно и понятно нужно, хотябы от вечного цикла...
Пользователи по большей части пытаются использовать те знания, которые уже имеют и зачастую их недостаточно. По этому пытаясь решить свою задачу городят огороды. В такой ситуации я стараюсь узнать какую задачу пользователь пытается решить "таким" вот способом.
-
@androsha said in Продолжить выполнение действий после ошибки с того же места:
@Fox имеется много действий, которые загружают страницы. Иногда происходит таймаут по неизвестной мне причине. Ещё бывает происходит действие "Проверить существование элемента" и таймаут. Судя по происходящему это баги или ПК не справляется с такой мощностью при многопоточности, отчего и происходит ошибка. Мне вот поэтому нужно игнорировать ошибки в каждом действии
Игнорировать и повторить каждое действие не получится. Но вы можете вынести необходимые действия (алгоритм) в функцию и игнорировать вызов функции. В таком случае при ошибке, можно будет запустить этот алгоритм заново
-
@androsha said in Продолжить выполнение действий после ошибки с того же места:
@Fox жаль, что нет функции, которая будет игнорировать ошибки во всём алгоритме и стартовать с нужного действия. Очень хорошо помогает, когда не хватает мощности и необходимо выполнить действие ещё раз
Это неправильный подход к разработке, будь такая возможность неизвестно какие ошибки бы пришлось дебажить в последствии и объяснять пользователем что не так с их скриптом.
-
@androsha said in Продолжить выполнение действий после ошибки с того же места:
@Fox так я и говорю именно про функцию, которую можно включить по желанию пользователя. Если возникнут подобные проблемы, то первым делом спрашивать у них включили ли они такую функцию
В любом случае, такого функционала нет. Если вы знаете какие действия у вас могут вызвать ошибку, то создайте свой обработчик ошибок. Функцию, в которой будет действие "загрузить" с необходимой переменной в поле url, в случае ошибки будет срабатывать цикл повтора, если ошибки нет, выходить из функции.
Такие функции можно создать для каждого действия и передавать в них входные данные.
