我很长时间一直在想这个问题,而且我已经乖乖地抓住了任何可能引发ServerSocket.close()抛出的异常。但是,我没有看到它抛出异常。
Javadocs州:
Throws:
IOException - if an I/O error occurs when closing the socket.
然而,正如我所说,我从未见过它会抛出异常。关闭serversocket时在什么情况下发生I / O错误?您可以假设手头的代码如下所示:
public void terminate() {
try {
serverSocket.close();
} catch (IOException ex) {
System.err.println(ex.getMessage()); // when and how?
}
}
我在互联网上搜索了一个答案,但无法提出任何可以澄清这一点的内容。
答案 0 :(得分:3)
如果套接字在您尝试关闭时已经关闭,则会抛出IOException
。