try catch finally 执行路径问题
2014-01-23 21:08
465 查看
面试中常出的题目,关于try catch 与finally的代码执行路径问题。
之前只记住了finally中的一定执行,执行顺序没有仔细琢磨。
1、比如是在return之前再执行finally,还是在try或者catch之后执行?
之前有点糊涂,其实try catch finally是一个整体的语法,与后面的代码块没啥关系,finally的含义是紧跟着try或者catch执行。
2、在try或者catch中已经return了还会不会执行?
之前记住的一定会执行是没有问题的,无论出现各种为,finally中的代码一定会执行,下面的代码noException函数示例,try中已经return了但finally中的代码还是会执行。
这里写上自己加深一下印象吧
之前只记住了finally中的一定执行,执行顺序没有仔细琢磨。
1、比如是在return之前再执行finally,还是在try或者catch之后执行?
之前有点糊涂,其实try catch finally是一个整体的语法,与后面的代码块没啥关系,finally的含义是紧跟着try或者catch执行。
2、在try或者catch中已经return了还会不会执行?
之前记住的一定会执行是没有问题的,无论出现各种为,finally中的代码一定会执行,下面的代码noException函数示例,try中已经return了但finally中的代码还是会执行。
这里写上自己加深一下印象吧
package exception; public class TestRunWay { public static void main(String [] args) { catchException(); noException(); } //执行会出现异常的方法 public static void catchException() { try{ int i = 1/0; System.out.println(" catchException do something wrong!"); }catch(Exception e) { e.printStackTrace(); } finally { System.out.println("catchException In finally!"); } System.out.println("catchException after finally!"); } //执行不会出现异常的方法 public static void noException() { try{ int i = 0; System.out.println("noException do nothing"); return;//注意这里有返回哦 }catch(Exception e) { e.printStackTrace(); } finally { System.out.println("noException In finally!"); } System.out.println("noException position after finally!"); } }
相关文章推荐
- 黑马程序员 try或catch中存在return 语句时,它们与finally 的执行顺序问题
- try catch finally中return语句与非return语句的执行顺序问题
- 关于Java中try catch finally throw return的执行顺序问题
- 【Java】try、catch、finally的执行顺序与返回值问题
- try,catch,finally执行及返回值的问题
- 谈论try,catch,语句中的return语句与后面的finally中语句谁先执行的问题
- java中try{}catch{}和finally{}的执行顺序问题
- 转载 try ..catch ..finally 执行问题
- Android面试之java基础try-catch-finally-return的执行先后顺序问题
- try{}catch{}finally{} 里的代码的执行顺序问题
- try-catch-finally-return执行路径总结
- Java try/catch/finally代码块中加入return后的执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- try-catch-finally执行与返回值问题
- try catch finally return执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- try catch finally执行顺序和return值
- 有return的情况下try catch finally的执行顺序
- try...catch...finally中的finally一定会执行吗?
- try-catch-finally的问题