一周前开始学习
java,并决定学习正确的方法来处理异常.
Java真的让我疯狂地指出了方法可以作为其签名的一部分抛出的异常.
我正在尝试为客户端 – 服务器应用程序实现多线程服务器.我非常惊讶于socket.close()可以抛出IOException的事实.问题是,如果发生,该怎么办?
...
final Socket socket = .... // at this point I know that I have a good socket
try {
..... // communicating with someone on that side....
} catch(IOException e) {
// communication failed
// this fact is useful, I can log it
// and will just hang up
} finally {
try {
socket.close(); // bye-bye
} catch(IOException e) {
// anything but logging I can do here?
}
}
...
这段代码在单独的线程中执行,所以我只需要捕获所有的异常.问题主要是心理上的 – 我知道,我可以把catch框留空,但是我试图避免这个伎俩.
有什么想法吗?