如何优雅地实现错误处理?例如,我的数据访问层可能会引发 2 种类型的错误:1) 未经授权的访问,在这种情况下,页面应该隐藏所有内容并仅显示错误消息 2) 通知用户此类内容已存在于数据库(例如,名称不是唯一的),在这种情况下,我不想隐藏所有内容。
编辑:
由于这里的一些评论,我设计我应该创建派生的专门异常类型,例如 NotAuthorizedException、DuplicateException 等......这一切都很好,但我可能会看到 2 个问题:
1)每个存储过程都有一个返回字段 p_error ,其中包含错误消息。从 DB 获取数据后,我需要检查该字段以查看返回的错误类型,以便引发适当的异常。所以,我仍然需要将我的错误类型/错误消息存储在某个地方......换句话说,我应该如何向用户提供确切的消息(在某些时候我需要)而不先检查 p_error 字段。这让我回到了错误对象。任何人?
2)我可能会变成一场噩梦,其中异常的数量等于错误消息类型的数量。
我在这里错过了什么吗?
非常感谢大家!