可能重复:
why hibernate changed HibernateException to RuntimeException (unchecked)
将spring中的异常和hibernate保持为未经检查的异常的原因是什么?
只是为了减少编码时的混乱或者背后还有其他设计原理吗?
答案 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)