为什么Spring和Hibernate中的异常大多是未检查异常?

7
3个回答

6

在处理大多数数据库异常时,开发人员几乎无法做任何事情(我是指编写一些catch块以从异常中恢复)。例如,数据库连接问题、错误的查询或表中不存在列等问题。
因此,未检查的异常可以帮助开发人员避免添加不必要的catch块。如果您仍然希望捕获所需的未检查异常并留下其余未检查异常,则需要使用已检查的异常。


1
那么问题是,为什么JDBC错过了这一点,并使大多数异常成为已检查的异常... - Jyotirup
2
@Jyotirup:不知道jdbc,但看起来Hibernate和Spring从jdbc的错误中吸取了教训。 - Ajinkya

4

已经有很长时间关于“已检查异常 vs 未检查异常”的争论。两派都有坚定的支持者。作为一个团队,你应该选择一种风格并坚持下去。

尽管我只能猜测其理由,但显然 Spring 和 Hibernate 更倾向于未检查异常阵营。

这场争论(以及其他问题)在问题“在Java中,何时应创建已检查异常,何时应该是运行时异常?”中进行了讨论。


1

我认为像Spring、Hibernate这样的框架是围绕Java反射工作的。而反射大多数异常都是运行时异常。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接