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关键字的特点和作用
Python使用Try Exception来处理异常机制 若Exception中有Try对应的异常处理,则Try – exception之后的代码将被执行,但若Try – exception中没有对应的代码,则程序抛出Traceback停止运行 那么else finally就是针对...
### Delphi 开发入门教程简述 #### 一、代码组织与设计 1. **使用OOP原则设计可复用组件和模块化程序结构** - **解释**: 面向对象编程(OOP)的核心原则包括封装、继承和多态。在Delphi中通过类(Class)来实现这些...
简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分) 2.下面程序运行会发生什么结果?如果有错误,如何改正? (15分) interface A{ int x = 0; } class B{ int x =1; } class C extends...
java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。 try 关键字后紧跟一个花括号括起来的代码块,简称try块。同理:下面的也被称为相应的块。 它里面可置引发异常的代码。catch后...
最后,简述了人工智能领域的应用情况。 关鍵词:人工智能;发展趋势;研究热点;应用 中图分类号:TP18 ; 文献标识码:A ; 文章编号:1672-9129(2018)15- 0010-02 Abstract:Firstly,the development history of AI ...
问题 9:简述 Spring Cloud 的核心组件及它们的作用。答案:Spring Cloud 是一套微服务解决方案,包括多个核心组件。Eureka 用于服务注册与发现,Hystrix 提供断路器模式以防止服务雪崩,Zuul 是边缘服务和 API 网关...
习题可能涉及try-catch-finally语句块的使用,以及如何自定义异常。答案会指导你如何正确地捕获和处理异常,以及何时抛出异常,以提高程序的稳定性和可维护性。 文件I/O操作也是Java开发者需要掌握的技能。在习题中...
} finally { closeConnect(); } } } ``` - **功能描述**:此方法用于将本地文件上传至FTP服务器。 - **参数说明**: - `ftpUrl`:FTP服务器地址。 - `port`:端口号,默认为21。 - `loginName`:登录...
} finally { try { if (rs != null) { rs.close(); } if (pstm != null) { pstm.close(); } if (connection != null) { connection.close(); } } catch (Exception e) { e.printStackTrace(); } } }...
10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别? 9 11、heap 和stack 有什么区别? 9 12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 9 13、swtich 是否能作用在byte 上,是否能作用在long 上,是否...
问题 10:请简述 MySQL 的 InnoDB 存储引擎与 MyISAM 存储引擎的区别? MySQL 中的 InnoDB 和 MyISAM 是两种常见的存储引擎。InnoDB 支持事务处理和行级锁定,提供了更高的数据一致性,适合于高并发和需要事务处理...
5. **异常处理**:try-catch-finally语句块,异常类型及其关联,自定义异常。 6. **集合框架**:List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)、Map(如HashMap、TreeMap)的基本操作和特性。 7. *...
2. **异常处理**:Java中的异常处理是通过try-catch-finally语句块实现的,用于捕获和处理运行时错误。异常分为检查型异常(如IOException)和非检查型异常(如NullPointerException)。理解何时和如何抛出及捕获...
异常模块中,涵盖了throw和throws的区别、final、finally、finalize有什么区别、还会执行吗、try-catch-finally中哪个部分可以省略、还会执行吗、try-catch-finally中,如果catch中return了,finally还会执行吗、...
- 代码中使用了异常处理结构(try-catch-finally),捕获并打印了异常信息。在实际应用中,可能需要更详细的错误处理策略,比如记录日志或者向用户显示友好错误消息。 6. **性能优化**: - 使用批处理(batch ...
9. 简述 template 和 Strategy 设计模式的区别。 数据库 10. 有学生表 S,课程表 C,学生选课表 SC。写出建表语句。写出 sql 语句:查询选了所有课程的学生。写出 sql 语句:查询选课 10 门的学生。 JavaScript ...
try 块用于包含可能会抛出异常的代码,catch 块用于捕获并处理异常,finally 块用于确保某些代码无论如何都会执行,比如资源清理。在实际开发中,应该根据异常的类型和业务需求,合理地使用异常处理,避免使用空 ...