我经常在Java代码中看到这种事情......
try
{
fileStream.close();
}
catch (IOException ioe)
{
/* Ignore. We do not care. */
}
Run Code Online (Sandbox Code Playgroud)
这是合理的还是骑士的?
我什么时候关心关闭文件失败?忽略此异常有什么含义?
Jon*_*eet 21
我至少会记录异常.
我已经看到它偶尔发生,如果由于无法刷新数据而关闭文件的尝试失败.如果您只是吞下异常,那么您在没有意识到的情况下丢失了数据.
理想情况下,如果您已经处于另一个异常的上下文中(例如,您处于finally块中,但是由于另一个异常,而不是已经完成了try块),您可能应该吞下异常,但如果您的操作是另外的则抛出它成功的.不幸的是,整理出来有点难看:(
但是,你应该至少登录它.
Bri*_*new 19
您会关心该close()
方法是否将写入的内容从缓冲区刷新到文件系统,并且该方法失败.例如,如果您要写入的文件位于已不可用的远程文件系统上.
注意以上重新.刷新适用于任何输出流,而不仅仅是文件.