我写与套接字:嵌套IOException异常渔获套接字关闭
OutputStream socketStream = socket.getOutputStream();
socketStream.write(buf);
但这可以抛出IOException
,所以我做的:
try {
OutputStream socketStream = socket.getOutputStream();
socketStream.write(buf);
} catch (IOException e) {
// logging
} finally {
socket.close();
}
但
socket.close
还逼我搭上IOException
!那么我需要try ... catch
它再次在finally
?当赶上
IOException
从close
,这意味着插座不关闭?那么再试试close
?或者该怎么办?
感谢
如果socket传递给closeSilently时发生错误(即连接失败),安全调用关闭它会怎么样?我认为它不会为空 – zaharpopov 2011-05-30 06:31:05
它应该是安全的。在大多数理智的API中,当对象不处于打开状态时,调用'close()'是一个无操作。 – gpeche 2011-05-31 07:35:37