gpt4 book ai didi

java - 数据库层异常处理的设计模式

转载 作者:行者123 更新时间:2023-11-30 02:45:22 25 4
gpt4 key购买 nike

我的系统有两个主要层,服务层和数据库访问层。

我向服务层公开了一个接口(interface)以进行数据库操作。

现在,在这个接口(interface)中,DAO 层的每个操作都会抛出一些异常,例如超时异常等 -

除了使用 throws ExceptionName 显式指定每个方法之外,还有其他方法可以表达此规范吗?

最佳答案

这里有多个选项;但我认为我的“意见”在某种程度上与您现在在许多地方找到的“最佳实践”相匹配:

  • 如果你想使用检查异常,那么创建一些抽象的基本异常并将其放入你的抛出列表中。因为您确实不想在抛出列表中出现超过一、两个异常。原因很简单,因为如此广泛的 throw 列表会随着时间的推移而增长,并且它们会很快污染您的所有图层。
  • 您也可以选择不使用检查异常!相反:抛出适当的运行时异常,并通过接口(interface)上的 javadoc 记录该事实。许多人认为受控异常和非受控异常之间的“ war ”已经结束,而非受控获胜了。因为无论如何你都需要一些“通用的一切捕捉”的东西。那么,当无论如何都要编写该代码时,为什么要忙着处理那些维护密集型的抛出列表呢?!

关于java - 数据库层异常处理的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40338326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com