2

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

  1. 不关心错误细节的应用程序。如果发生异常,那么很可能只会被记录下来,而用户可能没有意识到这一点。

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

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

在构建 DAL 以适应这两个类别时,我必须遵循什么策略?

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

4

1 回答 1

3

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

如果您正在编写错误记录器,我还建议使用真实的应用程序(或几个真实的应用程序)作为库的测试。例如,您可以将您的错误记录器连接到 codeplex 上的各种应用程序,看看解决错误的痛点是什么,或者尝试使用您的错误记录器来记录错误是您自己的库。

于 2012-12-03T21:21:19.843 回答