我有两个与Spring框架中的异常处理相关的问题。
DataAccessException是运行时异常,而核心Java的SQLException是检查异常?发布于 2015-01-09 21:48:02
使用DataAccessException over SQLException的原因是它更一般地描述了问题。如果您有一个存储库或DAO接口,它有两个不同的实现,一个用于Oracle,另一个用于Cassandra,那么您可以对这两个实现都有一个异常表示失败。
至于为什么这是运行时而不是经过检查的异常,它允许调用方不必显式处理它。根据我的经验,如果抛出一个SQLException或DataAccessException,除了让它冒泡给有能力的人之外,我没有什么可以或不想做的。必须在每个层声明可移植性对调用方来说是更大的负担。如果他们中的一个想抓住和处理它,他们可以。
这是JavaDocs (谢谢@Tom!)
https://stackoverflow.com/questions/27869710
复制相似问题