我有一个多层应用程序。 DAL -> BAL -> 业务网关 -> UI。
如果DAL发生外键或唯一约束异常,我们应该如何识别这是哪个异常以及向用户显示什么错误消息。我们应该使用错误号来识别这一点吗?
第二个问题:我们应该如何将此错误传播给 UI。我们正在考虑将此异常抛出给 BAL,BAL 将封装错误并向 UI 返回响应(不是异常)。这是正确的方法吗?
DAL 异常应该由 BAL 处理并重新抛出(作为自定义异常)。您应该将其序列化并通过您正在使用的通信通道发送到您的 UI。
您不需要向用户显示确切的错误或错误号,因为这会形成不良的用户体验。你可以告诉他们你无法在数据库中执行该操作。您可以在某些日志文件或 Windows 事件日志中记录详细信息。
EDIT:SqlException 有错误代码,您可以在 DAL 中检查该错误代码,然后根据该错误代码引发特定异常。您的 DAL 将 SQL Server 抽象为后端存储,因此 SqlException 不应泄漏到 DAL 之外。因此,在 DAL 中检查 ErrorCode 并抛出特定的异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)