- Регистрация
- 05.06.2019
- Сообщения
- 570
- Благодарностей
- 454
- Баллы
- 63
Предлагаю внедрить опцию, количество вхождений в секцию BadEnd.
Сейчас если не ошибаюсь, то можно 2 раза использовать данные блок (и то, 2ой будет окончательный).
Описание:
Эта возможность позволит делать гибкую и лаконичную систему обработки исключений, что увеличит стабильность проектов (если их правильно проектировать).
Дополнительно:
1) Свойство "состояние", для внешнего прерывания, которое позволит понять, что именно привело в BadEnd (пользовательское исключение, системное или внешнее прерывание).
Примечание:
Желательно, свойство с перезарядкой (Reset), после вызова, на случай если это случайное внешнее прерывание и пр.
2) Получить доступ к чекбоксу "Выполнить BadEnd при прерывании проекта", чтобы во время инициализации проекта, ее запускать из кода.
Сейчас нажав кнопку на интерфейсе или использовав метод:
ZennoPoster.InterruptTask();
Переносит в секцию BadEnd, но при этом код ниже, игнорируется, из-за чего не возможно продолжить логику на случай внешнего прерывания.
Сейчас если не ошибаюсь, то можно 2 раза использовать данные блок (и то, 2ой будет окончательный).
Описание:
Эта возможность позволит делать гибкую и лаконичную систему обработки исключений, что увеличит стабильность проектов (если их правильно проектировать).
Дополнительно:
1) Свойство "состояние", для внешнего прерывания, которое позволит понять, что именно привело в BadEnd (пользовательское исключение, системное или внешнее прерывание).
Примечание:
Желательно, свойство с перезарядкой (Reset), после вызова, на случай если это случайное внешнее прерывание и пр.
2) Получить доступ к чекбоксу "Выполнить BadEnd при прерывании проекта", чтобы во время инициализации проекта, ее запускать из кода.
Сейчас нажав кнопку на интерфейсе или использовав метод:
ZennoPoster.InterruptTask();
Переносит в секцию BadEnd, но при этом код ниже, игнорируется, из-за чего не возможно продолжить логику на случай внешнего прерывания.
Выход по внешнему требованию:
if(((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted)
//Инструкция на случай внешнего прерывания
if(Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode)
//Инструкция на случай внешнего прерывания
Последнее редактирование: