Обработка ошибок try/catch

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Ребят привет, все еще познаю работу с C# и интересует возможность обработки ошибок которые возникают при работе проекта в общем коде.


Ну что-то наподобии try/catch когда известен результат exception'a можно как-то обрабатывать?

Например у меня 100 c# снипеттов в проекте которые отсылают запросы и тут-же их обрабатывают, можно ли как-то из общего когда прописать что делать в случае:
C#:
Выполнение действия CSharp OwnCode:REQUEST 1. Could not connect to server?
На ошибку не обращайте внимания это просто пример.

На данный момент индивидуально обрабатываю ошибки и насколько понял то верно будет оборачивать однотипные действия в свои методы в общем коде с отловом ошибок там-же, но было-бо здорово если бы можно было обрабатывать ошибки по принципу работы BAD END.

Заранее спасибо, сорян если туго объяснил, пишите если нужно разъяснить подробнее.
 

Phoenix78

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

volody00

Client
Регистрация
06.09.2016
Сообщения
792
Благодарностей
810
Баллы
93
если я правильно понял, можно сделать что-то типа такого:
* Прописываешь методы для каждой ошибки - типа если ошибка такая-то, вызывай такой метод, если такая, то такой
* Далее в любом случае придется оборачивать в try-catch и уже в catch с помощью if-else определяешь, какую ошибку отловил и вызываешь соответствующий метод

Если после ошибки софт у тебя далее выполняться не будет, то можно в bad end такую же обработку засунуть и в зависимости от ошибки совершать те или иные действия, после чего закончить работу
 
  • Спасибо
Реакции: artomka

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Про try/catch я знаю, просто думал есть возможность без обертки каждого сниппета либо создания своих методов обрабатывать ошибки.

Если после ошибки софт у тебя далее выполняться не будет, то можно в bad end такую же обработку засунуть и в зависимости от ошибки совершать те или иные действия, после чего закончить работу
А можно из bad end как-то подтягивать предыдущие ошибки? либо просто выкидыать exception в переменную?
 

volody00

Client
Регистрация
06.09.2016
Сообщения
792
Благодарностей
810
Баллы
93
В bad end (отлавливает только ошибки из общего кода)
C#:
LastError err = project.GetLastError();
Exception en = err.Exception;
project.SendErrorToLog("Ошибка возникла в кубике с именем - " + err.ActionComment + "(" + err.ActionId + "). Метод, в котором возникла ошибка - " + en.TargetSite + ". Описание ошибки - " + en.Message, true);
 
  • Спасибо
Реакции: elPresidente и artomka

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
То что нужно спасибо :-)
 

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