【问题标题】:Why to make extend exceptions in DAO? [closed]为什么要在 DAO 中扩展异常? [关闭]
【发布时间】:2014-01-06 17:27:13
【问题描述】:

我正在阅读此代码审查问题here 和 BalusC 的教程。我发现异常类被扩展了。

它有什么需要?我读了一些类似client layer should not know SQLExecption 的东西,但我不确定我是否理解它。

你能解释为什么要进行专门的例外吗?如果我的 DAO 方法没有 throws 并且客户端代码在 try-catch 中怎么办?

【问题讨论】:

  • 猜猜以下内容有什么不好:throw new OhShitSomethingBadHappenedButIWontTellYouSpecificlyWhatException(),将其应用于您的问题,然后删除您的问题。
  • @JarrodRoberson 这对客户来说真是一个可怕的消息:)
  • 这是很好地利用幽默来表达重点!
  • 无论如何它可能会被包裹在try/catch and do nothing 块中,至少这是我在过去 17 年做 Java 时阅读其他人代码的经验。

标签: java api exception dao


【解决方案1】:

因为 DAO 今天可能会在明天抛出 SQLException,如果您想更改 DAO 层以写入文件,它可能会导致 FileNotFoundException,因此隐藏您向客户展示对他们重要的底层内容(自定义业务明智例外)

【讨论】:

  • 非常简洁明了!下次在问简单的问题之前,我应该更加努力。
  • 我更进一步说,它不应该抛出任何 CheckedException 子类期间!
猜你喜欢
  • 2014-04-20
  • 2020-05-18
  • 2019-09-07
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多