Сделать возможность писать свою ошибку лог + завершать неудачно

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 387
Благодарностей
5 446
Баллы
113
Не знаю как правильно сформулировать, но попробую.

Нужно "Оповещение в лог об ошибке" и "1=2" в одном флаконе.

Что бы было одно сообщение с ошибкой и проект завершался по неуспеху.

Что сейчас есть и почему это не подходит?
1)
C#:
project.SendErrorToLog("", "Ошибка: Личка закрыта");
throw new Exception();
Куча лишней инфы, которая будет отвлекать пользователя. Цель просто проинформировать о том, что личка закрыта.
2020-08-09_003908.jpg

2)
Ну это классика
2020-08-09_004052.jpg


В целом выглядит не плохо, но все же не то, что нужно. Опять лишняя инфа которая отвлекает от сути.
2020-08-09_004124.jpg

3?
Еще предложили вариант написать свои исключения, проверять не стал. Не думаю что будет лучше второго варианта.
Выдано исключение типа "Path.CustomExceptionBlaBla".

Есть еще варианты? Пишите в теме. Может я чего-то не знаю?
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
Не уверен, что подойдет, но как идея для обработки конкретного исключения.

C#:
try
{
    //code
}
catch (CustomException ex)
{
    //toLog = ex.Message;
    project.Variables["status"].Value = "STOP";
    throw;
}
catch (Exception ex)
{
    //toLog = ex.Message;
    throw;
}
В этом случае, да можно создать пользовательское исключение и обрабатывать конкретно его

Далее кидает на Bad End:
C#:
switch (project.Variables["status"].Value)
{
    case "STOP":
                    //code
                    break;

    default:
                    //code
                    break;
}
И если не ошибаюсь, то обработать Bad End можно 2 раза, мб сделать предложение для создания больше попыток (или ручное управление кол-вом)?
 
Последнее редактирование:
  • Спасибо
Реакции: Mikhail B.
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
Не знаю, будет ли понятно, но если что постараюсь объяснить.

1. Реализация обработки исключений, через красную нить:
Обработка-исключений-1(2).png

2. Реализация через Bad End:
Обработка-исключений-1(1).png

Примечание:
Вариант 2 имеет ограничение, за 1 отработку, можно войти 2 раза в Bad End.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 387
Благодарностей
5 446
Баллы
113
Не уверен, что подойдет, но как идея для обработки конкретного исключения.
Не работает твой код
2020-08-09_012136.jpg

И если не ошибаюсь, то обработать Bad End можно 2 раза, мб сделать предложение для создания больше попыток?
А какое отношение это имеет к предложению? Не совсем улавливаю мысль.
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
Последнее редактирование:

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 387
Благодарностей
5 446
Баллы
113
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
А какое отношение это имеет к предложению? Не совсем улавливаю мысль.
Продемонстрировал 2 варианта обработки, второй является не правильным, но с виду лаконичным, мб стоит сделать коррективы в Bad End и в шаблоне можно будет красиво строить логику и обработку.

1) project.Variables["status"].Value
2) Да это как бы пример, CustomException ещё нужно реализовать, такого исключения нет.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 387
Благодарностей
5 446
Баллы
113
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63

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