`
_念-H
  • 浏览: 9577 次
  • 性别: 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 开发入门教程简述 #### 一、代码组织与设计 1. **使用OOP原则设计可复用组件和模块化程序结构** - **解释**: 面向对象编程(OOP)的核心原则包括封装、继承和多态。在Delphi中通过类(Class)来实现这些...

    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后...

    人工智能研究综述.doc

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

    互联网高频Java后端面试题20道(适合1~3年)V1.0.17.docx

    问题 9:简述 Spring Cloud 的核心组件及它们的作用。答案:Spring Cloud 是一套微服务解决方案,包括多个核心组件。Eureka 用于服务注册与发现,Hystrix 提供断路器模式以防止服务雪崩,Zuul 是边缘服务和 API 网关...

    java课后习题答案

    习题可能涉及try-catch-finally语句块的使用,以及如何自定义异常。答案会指导你如何正确地捕获和处理异常,以及何时抛出异常,以提高程序的稳定性和可维护性。 文件I/O操作也是Java开发者需要掌握的技能。在习题中...

    FTP的上传和下载实现

    } finally { closeConnect(); } } } ``` - **功能描述**:此方法用于将本地文件上传至FTP服务器。 - **参数说明**: - `ftpUrl`:FTP服务器地址。 - `port`:端口号,默认为21。 - `loginName`:登录...

    ServletContextListener使用详解

    } finally { try { if (rs != null) { rs.close(); } if (pstm != null) { pstm.close(); } if (connection != null) { connection.close(); } } catch (Exception e) { e.printStackTrace(); } } }...

    java面试宝典

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

    互联网高频Java后端面试题20道(适合1~3年)V1.0.72.docx

    问题 10:请简述 MySQL 的 InnoDB 存储引擎与 MyISAM 存储引擎的区别? MySQL 中的 InnoDB 和 MyISAM 是两种常见的存储引擎。InnoDB 支持事务处理和行级锁定,提供了更高的数据一致性,适合于高并发和需要事务处理...

    java训前习题

    5. **异常处理**:try-catch-finally语句块,异常类型及其关联,自定义异常。 6. **集合框架**:List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)、Map(如HashMap、TreeMap)的基本操作和特性。 7. *...

    java高级练习题 java 高级

    2. **异常处理**:Java中的异常处理是通过try-catch-finally语句块实现的,用于捕获和处理运行时错误。异常分为检查型异常(如IOException)和非检查型异常(如NullPointerException)。理解何时和如何抛出及捕获...

    2022最新Java面试题常见面试题与答案汇总0001.docx

    异常模块中,涵盖了throw和throws的区别、final、finally、finalize有什么区别、还会执行吗、try-catch-finally中哪个部分可以省略、还会执行吗、try-catch-finally中,如果catch中return了,finally还会执行吗、...

    DAO程序设计相关点

    - 代码中使用了异常处理结构(try-catch-finally),捕获并打印了异常信息。在实际应用中,可能需要更详细的错误处理策略,比如记录日志或者向用户显示友好错误消息。 6. **性能优化**: - 使用批处理(batch ...

    阿里软件JAVA笔试题

    9. 简述 template 和 Strategy 设计模式的区别。 数据库 10. 有学生表 S,课程表 C,学生选课表 SC。写出建表语句。写出 sql 语句:查询选了所有课程的学生。写出 sql 语句:查询选课 10 门的学生。 JavaScript ...

    互联网高频Java后端面试题20道(适合1~3年)V1.0.30.docx

    try 块用于包含可能会抛出异常的代码,catch 块用于捕获并处理异常,finally 块用于确保某些代码无论如何都会执行,比如资源清理。在实际开发中,应该根据异常的类型和业务需求,合理地使用异常处理,避免使用空 ...

Global site tag (gtag.js) - Google Analytics