Java/Ignite - Try 块的功能 [重复]
Posted
技术标签:
【中文标题】Java/Ignite - Try 块的功能 [重复]【英文标题】:Java/Ignite - Function of Try Block [duplicate] 【发布时间】:2018-02-08 16:50:30 【问题描述】:我是 Java 新手,所以这可能很明显,但请考虑以下两个代码块。版本 A 使服务器永远旋转,但版本 B 旋转然后终止服务器。这里的try块的作用是什么?
版本 A:
import org.apache.ignite.Ignition;
import org.apache.ignite.Ignite;
public class Test
public static void main(String[] args)
Ignite ignite = Ignition.start();
return;
B 版:
import org.apache.ignite.Ignition;
import org.apache.ignite.Ignite;
public class Test
public static void main(String[] args)
try(Ignite ignite = Ignition.start())
return;
【问题讨论】:
为什么这不等同于 Ignite ignite = Ignition.start();
,因为在离开作用域时会调用资源析构函数?
GOOGLE 说没有破坏者的想法
【参考方案1】:
Ignite 实例在 try-with-resource 语句中声明,无论 try 语句是否正常完成,它都会被关闭。 更多详情请访问https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
【讨论】:
以上是关于Java/Ignite - Try 块的功能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 foreach 循环中使用 try-catch 块的最佳做法是啥? [关闭]
为啥 try..catch..finally 块的 finally 节在 catch 之前运行?