数据访问层中的异常处理策略

时间:2012-12-03 21:10:06

标签: c# .net exception-handling data-access-layer

我正在构建一个数据访问层,它将用于两种类型的应用程序。

  1. 不关心错误细节的应用程序。如果发生异常,则很可能只是记录,用户可能不知道它。

    示例:简单条形码库存应用。用户输入条形码,如果连接可用于数据库,则系统提供一些额外信息,如果没有,则仅在本地记录条形码。在这种情况下,我不想要细节异常处理。

  2. 我非常关心例外细节的应用程序。

  3. 在构建DAL时我必须遵循什么策略才能适应这两个类别?

    现在我正在构建第一个类别的应用程序,我在DAL方法中所做的就是让异常冒泡到表示层,在那里我有几个try..catch块以便制作简单处理日志记录,让用户不知道他的错误。

1 个答案:

答案 0 :(得分:2)

错误处理是从知道需要知道的人的代码部分获取信息。 DAL知道如何pritty打印SqlException,SqlCommand和SqlParameters集合的跟踪。但UI知道导致异常的整个调用堆栈。用户可能不知道如何处理这些信息,因此您应该登录到单独的渠道,例如发送给开发人员的电子邮件或数据库中的日志。

如果您正在编写错误记录器,我还建议使用真实应用程序(或几个实际应用程序)作为库的测试。例如,您可以将错误记录器连接到codeplex上的各种应用程序,并查看故障排除中的难点,或者尝试dogfooding并使用错误记录器记录错误是您自己的库。