Nit*_*tal 15 java spring exception
我有两个与Spring框架中的异常处理有关的问题.
1)为什么Spring框架DataAccessException是运行时异常,而Core Java是SQLException一个经过检查的异常?
2)Spring的异常处理优于Java的异常handlnig机制有什么优势?
Tod*_*odd 14
使用的原因DataAccessException在SQLException在于,它更普遍描述的问题.如果你有一个Repository或DAO接口,它有两个不同的实现,一个用于Oracle,一个用于Cassandra,你可以让这两个实现的异常表示失败.
至于为什么这是运行时而不是检查异常,它允许调用者不必显式处理它.在我的经验中,似乎如果一个SQLException或者DataAccessException被抛出,那么我可以或者想要做的事情并不多,除了让它冒泡到可以做到的人.必须在每一层声明throwables对调用者来说是更多的负担.如果其中一个人想抓住并处理它,他们就可以.
这是JavaDocs(感谢@Tom!)