【发布时间】:2021-02-01 00:45:00
【问题描述】:
我一直在阅读有关使用 Hibernate 优于 JDBC 的优势。其中一篇文章说
Hibernate wraps JDBC exceptions and throw an un-checked exception, so we don’t need to write code to handle it.
我对“我们不需要代码来处理它”的说法感到困惑。 异常处理对于维持正常流程不是很重要吗?
【问题讨论】:
-
异常处理对于维持正常流程不是很重要 是的,但是让我们想象一个
OutOfMemoryError被抛出。没有办法处理它以维持正常流程,只需在 try 块中添加一些代码即可。 Hibernate 例外是RuntimeExceptions,它们与Errors一起是 unchecked 。文本告诉没有必要捕获它,因为没有办法从中恢复,或者/并且最好让 VM 处理它(大多数情况下,通过完成线程)