Posted on 2006-02-17 00:08
云自无心水自闲 阅读(441)
评论(0) 编辑 收藏 所属分类:
Java
一个统一的异常层次结构对于提供服务抽象是必需的. 最重要的就是org.springframework.dao.DataAccessException以及其子类了. 需要强调的是Spring的异常机制重点在于应用编程模型. 与SqlException和其他数据存取API不同的是: Spring的异常机制是为了让开发者使用最少, 最清晰的代码.
DataAccessException和其他底层异常都是非检查性异常(unchecked exception). spring的原则之一就是基层异常就应该是非检查性异常. 原因如下:
1. 基层异常通常来说是不可恢复的.
2. 检查性异常将会降低异常层次结构的价值.如果底层异常是检查性的, 那么就需要在所有地方添加catch语句进行捕获.
3.try/catch代码块冗长混乱, 而且不增加多少价值.
使用检查异常理论上很好, 但是实际上好象并不如此.
Hibernate3也将从检查性异常转为非检查性异常.