我有一个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的良好做法?
答案 0 :(得分:3)
好吧,你并没有真正处理异常,因为你正在重新抛出它并将其冒泡到服务层,如果你想记录数据访问层中发生的异常,这正是你想要做的。
所以,你正在做着需要做的事情,这确实是一个很好的做法: