Java的I / O类java.io.Reader,java.io.Writer,java.io.InputStream,java.io.OutpuStream和他们的不同子类中都有一个close()可抛出的方法IOException。
java.io.Reader
java.io.Writer
java.io.InputStream
java.io.OutpuStream
close()
IOException
对于处理此类异常的正确方法是否存在共识?
我经常看到建议,只是默默地忽略它们,但这是错误的,至少在打开用于写的资源的情况下,关闭文件时出现问题可能意味着无法写入/发送未刷新的数据。
另一方面,在阅读资源时,我还不清楚为什么close()会抛出异常以及如何处理。
那么有什么标准建议吗?
记录下来。
您实际上不能 做任何事情 (例如,编写一些可以从错误中恢复的代码),但是通常值得让别人知道它。
编辑: 经过进一步调查并阅读了其他评论,我想说的是,如果您确实想处理它,那么您将必须知道实现的细节。相反,您可能需要了解实现的详细信息,以决定是否需要处理它。
但实际上,我无法想到任何流的示例,在这些示例中,在不引发异常的情况下,读取或写入将正常工作,但是关闭会如此。