`
_念-H
  • 浏览: 8563 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

FINALLY简述

    博客分类:
  • JAVA
阅读更多

1、概述

    A:不管用没有出现异常,finally都会执行。

    B:当try与catch中有return时,finally仍会执行。

    C:finally是在return(在try、catch中出现的return)之后执行,但不会影响到返回的结果。

          * return表达式的结果,会先保存,执行完finally后,再返回。

   D:finally最好不要出现return,否则会提前返回,返回的不是保存的值。

 

2、举例

     A:返回值情况

	private static int tmp(){
		int a = 1;
		int b = 2;
		try {
			return a + b;   //将a+b的结果保存,执行finally,再将保存的结果返回。
		} catch (Exception e) {
			
		}finally{
			a = 2;	//并不会影响返回值
		}
		return 1;
	}
	public static void main(String[] args) {
		System.out.println(tmp());	//结果为 3
	}

   B:提前结束情况

	private static int tmp(){
		int a = 1;
		int b = 2;
		try {
			return a + b;   //将a+b的结果保存,执行finally,再将保存的结果返回。
		} catch (Exception e) {
			
		}finally{
			return 0;	//遇到return直接返回。
		}
	}
	public static void main(String[] args) {
		System.out.println(tmp());	//结果为 0
	}

 

分享到:
评论

相关推荐

    简述finally关键字的特点和作用.xmind

    简述finally关键字的特点和作用

    详解Python异常处理中的Finally else的功能

    Python使用Try Exception来处理异常机制 若Exception中有Try对应的异常处理,则Try – exception之后的代码将被执行,但若Try – exception中没有对应的代码,则程序抛出Traceback停止运行 那么else finally就是针对...

    Delphi开发入门教程简述.docx

    Delphi开发技巧和最佳实践,这些内容通常涵盖各种主题,包括但不限于: 代码组织与设计: 使用OOP原则设计可复用...异常处理应遵循Try..Finally..Except结构确保资源正确释放。 使用Application.OnException设置全局

    Java学习题答案

    简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分) 2.下面程序运行会发生什么结果?如果有错误,如何改正? (15分) interface A{ int x = 0; } class B{ int x =1; } class C extends...

    Java异常处理机制

    java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。  try 关键字后紧跟一个花括号括起来的代码块,简称try块。同理:下面的也被称为相应的块。  它里面可置引发异常的代码。catch后...

    java常用面试题及答案

    final,finalize和finally的不同之处 简述进程,线程,协程之间的区别 ArrayList和LinkedList的区别? 什么是 Spring IOC 容器? spring bean 容器的生命周期是什么样的? Spring中有哪些类型的通知(Advice)? Spring ...

    人工智能研究综述.doc

    最后,简述了人工智能领域的应用情况。 关鍵词:人工智能;发展趋势;研究热点;应用 中图分类号:TP18 ; 文献标识码:A ; 文章编号:1672-9129(2018)15- 0010-02 Abstract:Firstly,the development history of AI ...

    流计算系统

    As more and more businesses seek to tame the massive unbounded data sets that pervade our world, streaming systems have finally reached a level of maturity sufficient for mainstream adoption....

    java面试宝典

    10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别? 9 11、heap 和stack 有什么区别? 9 12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 9 13、swtich 是否能作用在byte 上,是否能作用在long 上,是否...

    基于FPGA的HDB3码的编码器

    Finally, the plan of design, the flow of software design and the simulated waveform of HDB3 encoder and decoder is presented, showing correctness of the design.Finally, the design of the encoder and ...

    史上最全java面试,103项重点知识,带目录

    81. 简述 tcp 和 udp的区别? 40 82. tcp 为什么要三次握手,两次不行吗?为什么? 40 84. OSI 的七层模型都有哪些? 42 85. get 和 post 请求有哪些区别? 42 86. 如何实现跨域? 43 87.说一下 JSONP 实现原理? 49...

    JAVA面试题最全集

    50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally 51.Object类(或者其子类)的finalize()方法在什么情况下被调用? 52.一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握...

    java基础题 很全面

    34. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 11 35. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 11 36...

    java面试宝典2012版.pdf

    54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 56、子线程循环10次,接着主线程循环100,接着又回到子线程...

    Java常见面试题208道.docx

    81.简述 tcp 和 udp的区别? 82.tcp 为什么要三次握手,两次不行吗?为什么? 83.说一下 tcp 粘包是怎么产生的? 84.OSI 的七层模型都有哪些? 85.get 和 post 请求有哪些区别? 86.如何实现跨域? 87.说一下 JSONP ...

    java面试题

    31. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 16 32. 应用服务器与WEB SERVER的区别? 16 33. BS与CS的联系与区别。 16 34. 启动一个...

    最新Java面试宝典pdf版

    38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 25 39、下面的程序代码输出的结果是多少? 25 40、final, finally, finalize的区别。 27 ...

    Java面试宝典2010版

    38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 39、下面的程序代码输出的结果是多少? 40、final, finally, finalize的区别。 41、...

    Java面试笔试资料大全

    38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 25 39、下面的程序代码输出的结果是多少? 25 40、final, finally, finalize的区别。 27 ...

Global site tag (gtag.js) - Google Analytics