重复异常处理

时间:2014-03-12 12:31:55

标签: c# web-services exception-handling

我有一个关于重复异常处理的问题......

例如:Web方法有try-catch块,而try块内有执行代码。这种try-catch块对于每种web方法都是相同的。

是否有可能在不重复相同代码的情况下使其更容易,更易于维护? 我知道方面,但还有其他解决方案吗?

代码lang是C#,但我的解决方案就是一般。

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

使用函数式编程原则,您可以以某种方式传递要执行的操作或方法。

在C#中,您可以使用这样的方法来标准化您的代码:

public void HandleExceptions(Action action)
{
    try
    {
        action();
    }
    catch (ExceptionA exa)
    {

    }
    catch (ExceptionB exb)
    {

    }
    finally
    {

    }
}

并将其称为:

HandleExceptions(() =>
{
    //insert code to be handled by try/catch structure
    Method1();
});
HandleExceptions(() =>
{
    Method2();
});