我寫與套接字:嵌套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