【发布时间】:2016-11-21 23:04:13
【问题描述】:
我有以下代码:
try(Socket s1=new Socket(...); Socket s2=new Socket(...);)
{
some logic...
}
据我了解,Java 先关闭s2,然后关闭s1。
如果s2.close() 抛出异常会发生什么? Java 会在上次失败后尝试关闭s1 吗?
【问题讨论】:
-
是的。 try-with-resources 保证
close将在s2和s1上被调用(按此顺序)。 -
这种行为是否记录在某处?因为在这里找不到:docs.oracle.com/javase/tutorial/essential/exceptions/…
标签: java exception try-with-resources