为什么春天出现异常并且大多数是未经检查的异常?

时间:2012-07-15 08:52:55

标签: java spring hibernate exception

  

可能重复:
  why hibernate changed HibernateException to RuntimeException (unchecked)

将spring中的异常和hibernate保持为未经检查的异常的原因是什么?

只是为了减少编码时的混乱或者背后还有其他设计原理吗?

3 个答案:

答案 0 :(得分:5)

在处理大多数数据库异常时,开发人员几乎无法做任何事情(我的意思是在catch块中写一些内容以从异常中恢复)。与数据库连接问题一样,表等​​问题中不存在不正确的查询或列 因此,未经检查的异常可帮助开发人员添加不必要的catch块。如果你仍然想要,你可以捕获所需的未经检查的异常,并留下其余的,这与已检查的异常不同。

答案 1 :(得分:4)

已检查与未检查的异常辩论是一个古老的争论。两个阵营都有很强的支持者。作为一个团队,你应该选择一种风格并坚持下去。

虽然我只能猜测基本原理,但显然春天和冬眠都有利于未经检查的例外营。

辩论是(以及其他)在问题“In Java, when should I create a checked exception, and when should it be a runtime exception?”中讨论的。

答案 2 :(得分:1)

我觉得像Spring这样的框架,Hibernate工作是围绕java反射的。反映大多数例外都是运行时异常。