@Inwnew said in А есть ли аналог BED END ?:
@Gang Немного не так - нужно оборачивать в игнор ошибок действия, которые выполняются с ошибкой и потом отлавливать либо IF [[WAS_ERROR]] либо IF [[LAST_ERROR]].
В [[LAST_ERROR]] можно посмотреть текст последней ошибки и назначить реакцию на эту ошибку. Только потом [[LAST_ERROR]] я обычно очищаю.
Это я в курсе, так и делаю если знаю какое конкретно действие может быть с ошибкой. Но у меня задача отловить абсолютно любую ошибку в скрипте, на перед я не знаю где она может быть. И сделать какое-то действие, если такая неизвестная ошибка случилась.
@DrPrime said in А есть ли аналог BED END ?:
@Gang блоки конкурировать не будут. Если нужно будет выйти из вну реннего блока игнора во внешний - можно вызвать действие Fail. Игнор отлавливает все фейлы, даже вызванные пользователем
Только что сделал эксперимент. Все таки внешний блог игнора, которым оборачиваю ввесь скрипт, конфликтует с внутренними блоками игнора. Вернее [[WAS_ERROR]] возвращает TRUE от внутреннего блока игнора. И в конце скрипта выполняется условный оператор if([[WAS_ERROR]]) со значением true.
Пока придумал такой костыль. После всех внутренних блоков игнора, делать проверку if([[WAS_ERROR]]). И внутри условия присваиваю [[WAS_ERROR]] = false и дальше в этом условии делаю что мне нужно. То есть после любой внутреней ошибки в блоке игнора, я буду как-бы обнулять [[WAS_ERROR]] и присваивать ему булевое значение false.
В итоге, если в скрипте возникнет любая ошибка вне локальных блоков игнора, скрипт выйдет в мое финишное условие if([[WAS_ERROR]]) и тут я уже сделаю что мне нужно после ошибки. Например сохраню текущий аккаунт на котором была неизвесная ошибка.