【发布时间】:2015-07-11 15:44:02
【问题描述】:
我正在为我正在开发的程序编写一些服务器代码,并且我正在使用 try-with-resource 语句来关闭套接字。
try (
ServerSocket serverSocket = new ServerSocket(port);
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
) {
out.println("This is the server! Hooray! :D");
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
问题是,如果用户决定在 try 块完成之前关闭程序怎么办? .close() 方法会被调用吗?
这是在 oracle 的网站上:it will be closed regardless of whether the try statement completes normally or abruptly 但我不确定这是否包括用户是在尝试完成之前关闭程序还是程序崩溃。
谢谢。
【问题讨论】:
标签: java sockets resources try-catch