一直以为finally是在一个try-catch块中,不管里面有没抛异常,
最终都会去执行的一个块,比如
public void testFinallyMethod(){
try{
System.out.println(">>>do something<<<");
System.out.println(">>>do other thing<<<");
}catch (Exception e){
}finally{
System.out.println(">>>always do something<<<");
}
}
然而今天同事有个需求,就是在try块中return/break/continue
那么finally块是否会继续执行呢?
答案是肯定的.
public void testFinallyMethod(){
try{
System.out.println(">>>do something<<<");
return;//break,continue 也一样,当然这2种需要在循环中
System.out.println(">>>do other thing<<<");
}catch (Exception e){
}finally{
System.out.println(">>>always do something<<<");
}
}
运行后的结果是
>>>do something<<<
>>>always do something<<<
分享到:
相关推荐
Java的 try 与 catch finally关键字的使用
try-catch-finally捕获异常try-catch-finally捕获异常
Java语言finally语句详解,finally到底是在return之前还是之后执行.zip
final, finally, finalize的区别
17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句...
简述finally关键字的特点和作用
关于Java中finally语句块的深度辨析.doc
finally语句块与return的执行关系
try-finally语句是Microsoft对C和C++语言的扩展,它能使32位的目标程序在异常出现时,有效保证一些资源能够被及时清除,这些资源的清除任务可以包括例如内存的释放,文件的关闭,文件句柄的释放等等。try-finally...
一,谈谈final, finally, finalize的区别。 java面试题
使用try-catch-finally处理异常
Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理
NULL 博文链接:https://codecook.iteye.com/blog/731972
在Java的异常机制中,如果finally中含有return语句,则try和catch中的return语句将会被JVM忽视
移动通信原理finally.ppt
day15_finally练习1
与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。接下来通过本文给大家介绍Java中Finally关键字及finally关键字的使用相关知识,感兴趣的朋友一起学习吧
FInally.ino
第一:return语句并不是函数的终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂存在栈里面,等待finally执行后再返回) 第二:finally里面不建议放return语句,根据需要,return语句...
try-catch-finally执行顺序验证(左边是.java文件,右边是.class文件) 提示: try、catch块内的return操作编译后会变成把return的值保存到变量var的操作。 总结: try、catch块内的return操作编译后会变成把return的值...