Существует ли исключение для таймаута выполнения команды ?

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Есть вот такая настройка


И есть код на с# который 10 раз с задержкой в 1 с. проверяет наличие определенного элемента на странице. Естественно происходит обращение к вкладкам и элементам на них.
Так вот когда внезапно падает инстанс , каждое обращение к вкладкам и элементам на них зависает и судя по трекеру как раз отрабатывает этот самый тайм аут, у меня на 1 минуту стоит.
Но никаких ошибок не происходит, код C# с чистой совестью переходит на обработку следующего элемента и естественно опять попадает на таймаут команды. и так пока весь цикл не допилит. естественно что цикл выполняется в данном случае не 10с. а минут 10 в лучшем случае.
я уже перед каждым обращением к элементу на странице поставил проверку ( instance.ActiveTab.IsVoid || instance.ActiveTab.IsNull ) , но походу эти флаги выставляются с какой то задержкой и срабатывают на следующем или даже через 1 кубик.
пробовал перед каждой итерацией цикла ставить такой код
C#:
        if(((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) throw new Exception();
        if(Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode)  throw new Exception();
но он реагирует только на требование остановить исполнение шаблона, таймаут команды он не ловит.

Вот хотелось бы узнать каким методом можно выловить таймаут выполнения предыдущей команды в коде C# ?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113
Пробуй ещё проверять instance.IsVoid || instance.ErrorDetected, но по идее, они уже должны проверяться в вышесказанных.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Пробуй ещё проверять instance.IsVoid || instance.ErrorDetected, но по идее, они уже должны проверяться в вышесказанных.
поставил перед ( instance.ActiveTab.IsVoid || instance.ActiveTab.IsNull ) , реакции ноль. выходит только по ( instance.ActiveTab.IsVoid || instance.ActiveTab.IsNull )
Неужели нету встроенного исключения ?
блин , так и придется сторожевой таймер городить в каждом кубике :(
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)