关于 Finally 在Return前后执行的 测试
Return代码在Try Cache之内
1、Return之前 没有异常 那么 Return会在finally之前 执行
2、Return之前 有异常 那么 Return不执行 Finally会执行
Return代码在Try Cache之外Finally 之后
Return总会在finally之后执行
相关测试代码
public class TestFinally {
public static int getInt() {
int a = 0;
try {
System.out.println(" aaaaaaaaaaaaa");
//Integer.parseInt("aaa");
return a;
} catch (Exception e) {
e.printStackTrace();
} finally {
a = 2;
System.out.println(" finally " + a);
}
return a;
}
public static void main(String[] args) {
System.out.println("最终 " + getInt());
}
}
分享到:
相关推荐
- **Interceptor**:拦截器是Struts2的一个强大特性,它允许在Action执行前后插入自定义逻辑。常见的拦截器有验证、日志、事务管理等。通过配置struts.xml,可以控制拦截器的执行顺序。 - **Result**:Action执行后...
`while`循环在测试条件前执行,而`do-while`循环在测试条件后执行,确保至少执行一次循环体: ```java while (condition) { // 循环体 } do { // 循环体 } while (condition); ``` `for`循环是最灵活的一种,...
1. **通知(Advice)**:这是在特定连接点上执行的代码,例如,日志记录就是在方法执行前后插入的代码。Spring支持五种不同类型的通知: - 前置通知(Before Advice):在目标方法调用之前执行。 - 后置通知...
- finally块中的代码总会在return语句执行前后被执行,无论是否抛出异常。 28. **2乘以8的计算** - 最高效的方法是直接赋值:int result = 2 * 8; 29. **hashcode与equals** - 两个对象值相同(equals为true)...
在这个切面类中,我们定义了一个环绕通知`useSecondaryDataSource`,它会在带有自定义注解(例如`UseSecondaryDataSource`)的方法执行前后切换数据源。 通过这种方式,Spring Boot应用可以根据业务需求灵活地在多...
项目首先创建了一个名为`learnjsp`的数据库,并在该数据库中创建了一个名为`userinfo`的表,用于存储用户的登录信息。 ```sql CREATE DATABASE learnjsp; GO USE learnjsp; GO CREATE TABLE userinfo ( username ...
是的,无论try块和catch块中是否有return语句,finally块中的代码都会被执行。这是为了确保某些必要的清理工作(如关闭文件、释放资源等)一定被执行,即使程序中发生异常也不例外。 ### 29. abstract和final能否...
在这个例子中,`LoggingAspect`定义了一个切面,它会拦截所有在`com.example.demo.service`包下的方法调用,并在其前后分别记录进入和退出方法的信息。这种方式将日志记录这一横切关注点从业务逻辑中分离出来,提高...
assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。 27、GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的...
9. **try-except-else-finally**:try用于捕获异常,except处理异常,else在没有异常时执行,finally无论是否发生异常都会执行。 10. **bug处理**:遇到bug,通常先定位问题,复现错误,然后查看日志、调试代码,...
- **Around Advice**:环绕通知,在方法调用前后都可以执行。 #### SpringBoot面试高频题 **1.什么是SpringBoot?** - **Spring Boot**是基于Spring框架的简化版,它旨在简化新Spring应用的初始搭建以及开发过程...
9. **try-except-else-finally**:try用于捕获异常,except处理异常,else在没有异常时执行,finally确保无论是否发生异常都会执行的代码。 10. **处理bug**:调试、日志记录、单元测试、异常处理等是处理bug的常见...
### 计算机二级等级考试知识点解析 #### 1....在 HTML 中,可以通过 `<link>` 标签引入外部 CSS ...以上题目涵盖了计算机基础知识、编程语言特点、数据库管理和网络通信等多个方面,旨在全面测试考生的计算机应用能力。