1.首先尝试在try中return,看finally是否能执行到,测试代码如下:
public class FinallyTest {
结果是:
public String returnString() {
String str;
try {
str = "Hello, William";
System.out.println("This is try block.");
return str;
}
catch(Exception e) {
System.out.println("This is catch block.");
}
finally {
System.out.println("This is finally block.");
}
return null;
}
}
This is try block.
This is finally block.
可见不管try里是否有return,finally最终仍会执行到。
2.但是在try中System.exit(0),finally还会不会执行呢?还是来段测试代码,如下:
public class FinallyTest1 {
结果是:
public static String returnString() {
String str;
try {
str = "This is try block.";
System.out.println(str);
System.exit(0);
}
catch(Exception e) {
System.out.println("This is catch block.");
}
finally {
System.out.println("This is finally block.");
}
return null;
}
}
This is try block.
可见,这种情况下,finally还未被执行,程序就退出了。碰到这种情况,如果还想在程序退出之前执行一些代码,可以参见addShutdownHook这个函数。具体这个函数的用法,将在另外的博客中详解。
分享到:
相关推荐
在Java编程中,字符串压缩和文件压缩是常见的数据处理任务,尤其在大数据传输、存储优化等方面扮演着重要角色。本文将深入探讨Java中如何实现字符串和文件的压缩,以及涉及的相关技术。 首先,字符串压缩通常涉及到...
在Java编程环境中,导出CSV(逗号分隔值)文件并将其压缩成ZIP格式是一项常见的任务,特别是在处理大量数据时。CSV文件因其简洁、通用的格式,常用于数据交换和存储。本教程将深入讲解如何实现这个过程,并提供前...
在此示例中,`BufferedReader`和`FileReader`都实现了`AutoCloseable`接口,因此在`try`块结束后会自动关闭这些资源,无需显式调用`close()`方法。 总结而言,Java 7 的新特性显著提升了开发效率和代码质量,特别是...
在本篇文章中,我们将深入探讨如何有效地解决Java应用程序在连接MySQL数据库时可能遇到的各种问题。这一过程对于确保数据访问层的稳定性和效率至关重要。通过以下详细的步骤和解释,您将能够迅速定位并解决连接过程...
在Java编程环境中,实现对ZIP压缩文件进行加密是一项常见的任务,尤其在保护敏感数据时显得尤为重要。本篇文章将深入探讨如何使用Java实现这一功能,主要涉及`java.util.zip`库中的ZipOutputStream和...
### 贪吃蛇——Java程序员开发Android游戏详解 #### 一、项目背景与目标 贪吃蛇是一款经典的休闲游戏,曾经风靡于诺基亚蓝色屏幕手机时代,成为其标志性游戏之一。随着移动设备的发展,贪吃蛇也登陆了Android平台...
### 基于Java的图片文件格式转换与线性缩放技术详解 #### 一、引言 在当今数字化时代,图像处理技术是信息技术领域的一个重要组成部分。图像处理包括多种操作,如格式转换、图像缩放等。这些操作在很多应用中都至...
### Java生成条形码并在Web应用中展示及存储至数据库的技术 #### 一、概述 在现代企业级应用中,条形码作为一种重要的数据标识手段被广泛应用。利用Java技术可以方便地实现条形码的生成,并将其嵌入到Web应用程序...
### Java程序处理视频裁剪(快速处理大文件) 随着视频创作和分享的普及,对于视频编辑的需求也日益增长。尤其当遇到大型视频文件时,普通的手机应用往往难以胜任,不仅因为上传过程繁琐且容易失败,还可能面临画质...
在模块设置中,可以选择“Java”作为模块类型,为项目起个合适的名称,如“JavaLessonJdbc”,并指定存放位置,最后点击“Finish”。 2. **添加JDBC驱动依赖** 要连接MySQL,我们需要MySQL的JDBC驱动,即`mysql-...
2. 在 DB Brower 窗口内任意空白处击右键,选择 New 命令,弹出 Database Driver 窗口。 3. 在 Database Driver 窗口中,选择“Driver template”为“MySQLConnector/J”,输入“Driver name”为“mybook”,...
Java生成条形码code128 Java生成条形码code128是一种常用的条形码生成方式,通过使用Java语言和Barcode4J库,可以生成高质量的Code 128条形码。在实际应用中,Code 128条形码广泛应用于物流、生产流程控制、资产...
通过上述步骤,我们已经成功地在MyEclipse中配置了MySQL数据库,并通过示例代码展示了如何使用Java进行数据库的基本操作。这对于初学者来说是非常实用的技能,同时也为更复杂的数据库应用程序开发打下了良好的基础。...
- **@BeforeClass**:在所有测试方法运行之前执行一次,常用于一次性设置整个测试类的公共资源。需声明为静态方法。 - **@Before**:在每个测试方法运行前执行,用于设置每次测试所需的资源。 - **@Test**:标记一个...
国外大牛制作! ... import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;...import java.security.... SerialPortActivity.this.finish(); } }); b.show(); }
JDBC 查插删改 JDBC(Java Database Connectivity)是 Java 语言中用于连接数据库的 API,提供了统一的数据库访问接口。...我们还学习了如何创建一个 DAO 层,以便在不同的数据库中实现数据访问。
在IT行业中,数据库连接是开发过程中的基本操作,尤其是对于Java开发者来说,使用集成开发环境(IDE)如MyEclipse进行数据库操作是常见的工作流程。本篇将详细介绍如何使用MyEclipse连接MySQL数据库,确保开发者能够...
- finally块总会在try块结束(无论正常结束还是异常退出)后执行。 27. **参数传递**: - Java中是值传递,但对象引用是按值传递的,所以方法内修改对象属性会改变原对象。 28. **生成随机数数组**: - 使用...
在Android开发中,有时候我们需要实现一种功能:当用户执行特定操作时,比如点击退出按钮,能够一次性关闭所有打开的Activity并退出应用程序。这种方式在一些需要快速释放资源、彻底结束程序的应用场景中较为常见。...
- 在项目的`src`目录下创建一个Java类,例如命名为`HelloService`,并将它放在`service`包下。 ```java package service; public class HelloService { public String sayHello(String username) { return ...