zoukankan      html  css  js  c++  java
  • try catch块的秘密

    最近有同事遇到问题:

    她在4处手动抛运行异常,5处存在return语句,结果程序在2出现异常时没有抛出运行异常,导致事务不一致.

    我们都知道,当程序出现异常时候并且在不采取任何措施的情况下,是会抛出异常并停止方法的.在catch中手动

    抛运行异常也是会结束程序的,这两种情况都会触发springAOP的事务回滚,但为什么会出现这种情况呢?

    讨论研究了之后才明白,原因是当如果要抛运行异常时,程序就会立马结束,无法执行finally,而finally是必须要执行的

    所以,程序设定catch中的异常是执行完finally后才执行,所以,finally中有return就不会返回去

    执行抛异常的操作了,同理,当catch中有return halloWord("小名")的时候是会先执行halloWord("小名"),等执行完

    finally后才将halloWord("小名")的结果返回,最后结束.

  • 相关阅读:
    rem 适配
    1px实现方案
    伪类选择器
    css中如何做到容器按比例缩放
    rem移动端适配方案
    Quartz.NET实现作业调度
    iPhone X
    优化hexo访问速度-将hexo部署到云主机VPS
    网页设计命名规范
    网站注册页面
  • 原文地址:https://www.cnblogs.com/macwhirr/p/7358924.html
Copyright © 2011-2022 走看看