java 中try catch finally执行顺序

原创 2016年08月31日 14:57:13

1.finally实在try  catch结束后执行的。

2.try catch 有return 时,在执行完return后面的表达式之后,执行finally,最后执行return;

   try catch 没有有return 时,在执行完try catch,执行finally

3.finally 中最好不能有return。try catch 还没return ,就先执行了finally里的return,导致return 的值跟try catch 中期望的值不一样。

例子:


try{ return;}catch(){return;} finally{return;}

程序执行try块中return之前(包括return语句中的表达式运算)代码;
1.有异常:执行catch块中return之前(包括return语句中的表达式运算)代码;
    则再执行finally块,因为finally块中有return所以提前退出。
2.无异常:执行try中return之前,执行finally块,因为finally块中有return所以提前退出。

finally中有return会吃掉异常的

java中的异常以及 try catch finally以及finally的执行顺序

java try、catch、finally及finally执行顺序详解 1.为什么要用finally 先看一个没有finally的异常处理try-catch语句: 假设count...
  • QH_JAVA
  • QH_JAVA
  • 2013年10月21日 21:43
  • 14124

Java语言中try-catch-finally的执行顺序

最近遇到一道Java编程题目,让根据以下程序写输出: public static int func (){ try{ return 1; }catch (Excepti...
  • MOLIILOM
  • MOLIILOM
  • 2016年03月17日 00:26
  • 1464

Java异常捕获之try-catch-finally-return的执行顺序

情况1:try块中没有抛出异常try和finally块中都有return语句 public static int NoException(){ int i=10; try{ S...
  • aaoxue
  • aaoxue
  • 2013年01月23日 21:45
  • 11989

有return的情况下try catch finally的执行顺序

背景:          昨天一个朋友出去面试,遇到这么一道题:“C#  catch里有return,finally里还执行吗?” 个人实践小结:         1、不管有木有出现异常,finall...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2014年08月22日 08:08
  • 2322

try-catch语句中return和finally执行顺序详解

刷java面试题偶然看到这类问题(try/finally中含有return时的执行顺序),觉得挺有意思于是小小的研究了一下,希望经过我添油加醋天马行空之后,能给你带来一定的帮助 原题 try {...
  • zhoushumin157016
  • zhoushumin157016
  • 2017年06月15日 09:29
  • 525

Java中try catch finally语句中含有return语句的执行情况(总结版)

在这里看到了try catch finally语句中含有return语句的几种总结情况,但其实解释的很含糊,而且并不全面。但有一点是可以肯定的,finally块中的内容会先于try中的 return...
  • mmc_maodun
  • mmc_maodun
  • 2013年12月25日 23:06
  • 12923

关于try-catch、throw、finally在异常时的执行顺序

package test; //jdk 1.8 public class TestException1 { /** * catch中的return和throw是不能共存的(无论谁先谁后都编...
  • rainyspring4540
  • rainyspring4540
  • 2017年01月05日 11:04
  • 692

try、catch、finally中return的执行顺序

try、catch、finally中的return        今天在做一个多线程加读写锁的测试时,考虑效率问题,想及时return结果,但存在一个严肃的问题,那就是锁的开启和关闭问题。因为锁开启后...
  • wangqingbo0829
  • wangqingbo0829
  • 2016年09月07日 12:33
  • 2108

Java异常及异常块执行次序(try、catch、finally、return)

Java异常: ①使用try-catch-finally处理异常; ②使用throw、throws抛出异常; ③上边为java异常处理5个关键字。 异常是程序在设计时或运行时产生的错误,异常处理是处理...
  • typa01_kk
  • typa01_kk
  • 2015年04月16日 23:50
  • 1958

Java异常捕获之try-catch-finally-return的执行顺序

情况1:try块中没有抛出异常try和finally块中都有return语句 [java] view plain copy public static ...
  • z69183787
  • z69183787
  • 2017年03月13日 17:23
  • 664
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 中try catch finally执行顺序
举报原因:
原因补充:

(最多只允许输入30个字)