DAL或服务层中的日志错误

时间:2014-02-03 04:20:41

标签: c# wcf exception-handling layer

我有一个DAL和服务层(WCF Rest)的应用程序。我使用IErrorHandler在服务层中出错。

在DAL层中,我在所有方法中使用try catch并将错误登录到catch中的文本文件中。之后我用throw来抛出错误。

我的DAL图层方法如下

public DataTable Method1()
{
    DataSet dsData = null;
    try
    {
            //code to get the data
    }
    catch (Exception ex)
    {
        dbManager.WriteErrorLog(module, MethodBase.GetCurrentMethod().Name, ex.Message);
        throw;
    }
    return dsData.Tables[0];
}

在catch中,我使用了一个名为WriteErrorLog的通用方法将异常写入文本文件。

我的困惑是我们已经处理了服务层中的错误。所以我可以避免在我的DAL中使用try .. catch。或现有的是DAL的良好做法?

1 个答案:

答案 0 :(得分:3)

好吧,你并没有真正处理异常,因为你正在重新抛出它并将其冒泡到服务层,如果你想记录数据访问层中发生的异常,这正是你想要做的。

所以,你正在做着需要做的事情,这确实是一个很好的做法:

  1. 记录错误
  2. 不处理应用程序系统较低层中的异常
  3. 让前端/消费应用程序处理异常和/或错误