java finally return
2015-10-23 00:29
375 查看
我已经在之前的文章中已经讲过finally块,这篇文中来学习return语句包含在try catch或者finally中的时候finally块的行为情况。
看看下边的代码,你怎么认为?即使这有return false语句finally也一定会执行吗?
答案是肯定的,finally块会每次都执行,唯一不执行的情况是遇到System.exit()。
finally:有return的例子:
输出结果:
finally块中的返回语句会重写try或者是catch块中的语句吗?
是的,finally会导致try或者catch中的返回值被重写,看下边代码的例子:
上边的代码会返回19,因为try块中的return已经被finally重写了。
原文链接:http://beginnersbook.com/2013/05/java-finally-return/
看看下边的代码,你怎么认为?即使这有return false语句finally也一定会执行吗?
try { //try block ... return success; } catch (Exception ex) { //catch block ..... return failure; } finally { System.out.println("Inside finally"); }
答案是肯定的,finally块会每次都执行,唯一不执行的情况是遇到System.exit()。
finally:有return的例子:
class FinallyDemo { public static int myMethod() { try { //try block return 0; } finally { //finally System.out.println("Inside Finally block"); } } public static void main(String args[]) { System.out.println(FinallyDemo.myMethod()); } }
输出结果:
Inside Finally block 0
finally块中的返回语句会重写try或者是catch块中的语句吗?
是的,finally会导致try或者catch中的返回值被重写,看下边代码的例子:
public static int myTestingFuncn(){ try{ .... return 5; } finally { .... return 19; } }
上边的代码会返回19,因为try块中的return已经被finally重写了。
原文链接:http://beginnersbook.com/2013/05/java-finally-return/
相关文章推荐
- javaweb错误集锦
- java基础——Java概述
- maven创建springmvc项目
- Spring+Mybatis+Mysql搭建分布式数据库访问框架的方法
- Java记录 -43- Java ArrayList
- 在spring data jpa使用UUID
- Spring download address
- eclipse的一些快捷键
- JUnit测试运行器
- 经典Spring AOP
- java基础知识汇总
- spring-如何在项目启动的情况下获取Bean实例
- RESTFUL API 安全设计
- Java常见内存溢出异常分析
- Eclipse报内存溢出
- 深入理解Java对象序列化
- String到底创建了多少对象
- maven 项目 missing jdk.tools.jar
- java设计模式系列--状态模式
- Java 多线程