.NET 4.x Как вынести в отдельный класс блок try . catch - C#
Формулировка задачи:
Проблема следующая: на сервере есть много сервисов. Моя задача - перехватывать и обрабатывать ошибки этих сервисов. Обработка ошибок планируется на клиенте. Но чтобы они туда пришли, необходим блок try ... catch.
Сервисов у меня примерно 20, в каждом по две функции.
Можно ли избежать повторения блока try ... catch. Например, вынести каким-то образов все функции в один статический класс, реализовать try ... catch там и передавать туда функции в качестве делегата. Или ещё каким-то образом.
Благодарю за помощь
Решение задачи: «.NET 4.x Как вынести в отдельный класс блок try . catch»
textual
Листинг программы
private delegate void Update(); public static void Main(string[] args) { Update Up = Upd1; Up += Upd2; Up += Upd3; Up += Upd4; Up += Upd5; Up += Upd6; foreach (Delegate meth in Up.GetInvocationList()) { try { meth.DynamicInvoke(); } catch (Exception e) { Console.WriteLine(e.Message); } } } private static void Upd1() { Console.WriteLine("#1"); } private static void Upd2() { Console.WriteLine("#2"); throw new ArgumentNullException(); } private static void Upd3() { Console.WriteLine("#3"); } private static void Upd4() { Console.WriteLine("#4"); } private static void Upd5() { Console.WriteLine("#5"); throw new ArgumentException(); } private static void Upd6() { Console.WriteLine("#6"); throw new ArgumentOutOfRangeException(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д