TryCatch的特殊用法

今天查看Mybatis-Plus的源码,发现了一段特殊的TryCatch用法:
1.png
我之前写的都是如下这样的:

  1. try{
  2. ...
  3. }catch(...){
  4. ...
  5. }

然后去查阅了一下资料,从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。

The try-with-resources statement is a try statement that declares one or more resources. A resource is an object that must be closed after the program is finished with it. The try-with-resources statement ensures that each resource is closed at the end of the statement. Any object that implements java.lang.AutoCloseable, which includes all objects which implement java.io.Closeable, can be used as a resource.

带有resources的try语句声明一个或多个resources。resources是在程序结束后必须关闭的对象。try-with-resources语句确保在语句末尾关闭每个resources。任何实现java.lang.AutoCloseable,包括实现了java.io.Closeable的类,都可以作为resources使用。

也就是说,try括号里面的资源,如果{}内发生了异常,则资源就会被关闭