try...catch...finally中的return执行顺序
来源:互联网 发布:淘宝店标logo 编辑:程序博客网 时间:2024/05/13 07:53
try....catch...finally中return的执行顺序
代码:
//packagehello;
publicclass FinallyDemo {
publicstatic void main(String[]args) {
System.out.println("main"+ demo());
}
publicstatic int demo() {
inta = 10;
try{
// double b = 10;
// double c = b / 0;
intb = 10;
intc =b / 0;
System.out.println("to catch");
}catch(Exceptione) {
System.out.println("catch:"+ a);
return++a;
}finally {
System.out.println("finally:"+ a);
a+= 2;
}
returna;
}
}
上面代码的特点是出现try... catch... finally语句中,catch代码块中有return,return语句中有运算,同时finally对catch的return语句中的同一个变量进行了运算。
最后的在main方法中输出的a是11
执行的过程是:
1、catch中return ++a;语句中的++a执行,a=11
2、finally执行,显示a=13,
3、catch中的return执行,main中显示的结果是11
也就是说catch中先执行return的变量的运算,然后执行finally同时finally中对同一个变量的运算不影响最后返回的结果,执行了finally代码块之后,执行return,显示的结果是之前运算的结果。
如果finally中有return语句,那么,catch中的return不再生效,返回的结果是finally中的结果
*除数是0的情况
上面代码用的int,这样会产生错误,如果类型为double这样的浮点数,那么,并不会报错,结果是infinity也就是无穷大。
阅读全文
0 0
- try...catch...finally中的return执行顺序
- return语句在try-catch-finally中的执行顺序
- return语句在try-catch-finally中的执行顺序
- try...catch...finally中的执行顺序和return语句 总结
- Java中的try-catch-finally-return的执行顺序
- try, catch, finally, return的执行顺序
- try、catch、finally、return的执行顺序
- try、catch、finally、return的执行顺序
- try catch finally return 的执行顺序
- try、catch、finally、return的执行顺序
- try catch finally return 的执行顺序
- try-catch-finally return执行顺序
- try catch finally return 的执行顺序
- try catch finally return 执行顺序
- try-catch-finally-return的执行顺序
- try、catch、finally、return的执行顺序
- try-catch-finally-return执行顺序
- try catch finally return执行顺序
- debug看springmvc源码过程
- Robot Framework安装
- Spring Cloud Config
- localResizeIMG lrz压缩文件
- 了解你服务器的心情——top命令详解
- try...catch...finally中的return执行顺序
- 电商项目架构,缓存,性能调优,设计模式,项目实战
- sdnu1000
- ssh和ftp登录很慢的解决方案
- springboot+mybatis手动配置数据源
- display,visibility,opacity之间的区别
- Jsoncpp的使用
- 车号的正则表达式
- 如何无痛降低 if else 面条代码复杂度