Ordinary hut

人间一福地,胜似天仙宫
posts - 61, comments - 50, trackbacks - 0, articles - 1

关于spring的异常机制

Posted on 2009-04-08 08:34 landor 阅读(595) 评论(0)  编辑  收藏 所属分类: spring
spring默认的是出现运行时异常(RuntimeException)及其子类的时候回滚,其他类不回滚
可以自定义哪些异常回滚,如果是声明式事务可以用rollback-for来进行配置,例如文件操作会抛出IOException 那么可以这么配置
<tx:advice id="txAdvice">
   <tx:attributes>
      <tx:method name="update*" no-rollback-for="IOException"/>
      <tx:method name="*"/>
   </tx:attributes>
</tx:advice>

意思是
a 运行时异常(RuntimeException)及其子类的时候回滚
b IOException时候回滚
也就是说a是必须回滚的,b是自定义回滚的异常
如果事务失败了,spring会抛出异常,spring一般的情况下是把一些底层异常都封装成了一个RuntimeException,所以不需要我们自 己来处理这些异常,他们会自动抛出,而类似IOException等异常,必须要自己手动的throw抛出异常。 不管是什么异常,要想在view层进行处理的话,都要拦截!

只有注册用户登录后才能发表评论。


网站导航: