4
A
回答
2
不检查close()的返回值是一个常见但严重的编程错误。先前的写入(2)操作中的错误很可能会在最后的close()中首先报告。关闭文件时不检查返回值可能会导致数据无提示丢失。这尤其可以通过NFS和磁盘配额来观察。
尽管关闭只读流不能扔,Java的IO架构无法检查,由于其静态检查读与写没有流
2
你应该做的真的取决于你的应用程序。例如,如果它是一个GUI应用程序并且用户试图保存文件,那么您可能想要通知用户并让她有机会将该文件保存到别处。有时,在向用户报告错误之前再次尝试执行操作也是有意义的。否则,请报告错误,并根据是否有意义继续执行或中止程序。
0
This SO question讨论了close()
可能会引发异常的情况。其实,其中有不少。
一般来说,解决问题的方法不多。但是,您可能需要采取一些恢复措施。例如:
如果你正在写一个关键文件,并失败了,那么你的应用程序应该采取步骤,以确保它不会与新副本揍文件的“好”的副本
close()
它正在写入的文件。如果你正在写的请求或者使用网络套接字的反应,也许你应该注意的是,请求/响应可能尚未发送,这样就可以重新发送它的连接已经重新建立了。
当然,报告/记录“失败”也是一个好主意。
相关问题
- 1. 关闭套接字的问题
- 2. Java - 关闭UDP套接字
- 3. Java套接字在关闭5分钟之后仍然关闭
- 4. 关于Java中流的问题
- 5. 收到流后关闭套接字连接 - java
- 6. 套接字关闭后关闭线程
- 7. 的Tomcat + LDAP问题:关闭套接字连接上
- 8. 如何关闭套接字
- 9. Linux套接字未关闭
- 10. Apache套接字不关闭?
- 11. java.net.SocketException套接字已关闭
- 12. 关闭套接字和Windows
- 13. 套接字意外关闭
- 14. JMeter java.net.SocketException:套接字关闭
- 15. 如何在Java窗口的windowClosing事件中关闭套接字或I/O流?
- 16. java okhttp手动关闭连接问题
- 17. 关于Java套接字和打印流的好奇心
- 18. 在关闭的unix套接字上关闭socket.accept()调用
- 19. org.dom4j.DocumentException:流关闭嵌套异常:流闭
- 20. 有关套接字通信的问题
- 21. 关于在actionscript3中的套接字
- 22. 套接字关闭VS的InputStream接近
- 23. 在调用close之前关闭套接字但不关闭
- 24. PHP:关闭套接字连接时,网页关闭
- 25. 在fork()后关闭监听套接字()
- 26. 猫鼬套接字在nodejs关闭
- 27. 套接字从TimerTask.run()中关闭
- 28. Java套接字 - 关闭到服务器套接字的telnet客户端连接
- 29. 用PHP关闭套接字连接
- 30. 谁关闭了套接字连接
'close()'没有任何“返回值”被检查,它被声明返回'void'(用Java)!你的意思是“不处理任何(IO)异常? – 2010-06-15 11:23:18