try-with-resources和multiple catch

本文介绍了Java7中引入的两项重要特性:try-with-resources和multiple catch。try-with-resources简化了资源管理,通过确保在块退出时自动关闭实现了AutoCloseable接口的对象来避免资源泄露。multiple catch允许在一个catch块中处理多种类型的异常,提高了代码的简洁性和可读性。

从Java 7开始提供了两个有用的特性:try-with-resources和multiple catch。

先来看看try-with-resources。当处理某些资源的时候,通常都会在finally里面做一些资源回收的工作。比如:

FileInputStream fis = new FileInputStream(file);
try {
  // do something
} finally {
  fis.close();
}

你可以把上述代码等价地写成:

try (FileInputStream fis = new FileInputStream(file)) {
  // do something
}

是不是简单很多?满足使用try-with-resources写法的条件,代表资源的类需要实现java.io.Closeable或java.lang.AutoCloseable接口。

再来看看multiple catch。有时当我们调用一段处理时,需要同时捕获多个异常,但是我们对这些异常处理的代码是相同的。比如:

try {
  // do something
} catch (AException e) {
  throw new MyException(e);
} catch (BException e) {
  throw new MyException(e);
}

你可以把上述代码等价地写成:

try {
  // do something
} catch (AException | BException e) {
  throw new MyException(e);
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值