.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();
}