我经常在Java代码中看到这种情况...

try
{
    fileStream.close();
}
catch (IOException ioe)
{
    /* Ignore. We do not care. */
}

这合理吗?

我何时可以担心关闭文件失败?忽略此异常有什么含义?

最佳答案

我至少会记录异常。

我已经看到偶尔会发生这种情况,如果由于无法刷新数据而导致关闭文件的尝试失败。如果您只是吞下异常,那么您将丢失数据而没有意识到。

理想情况下,如果您已经处于另一个异常的上下文中(例如,您处于finally块中,但由于另一个异常而不是已完成try块),则应该吞下该异常,但是如果您的操作否则将其抛出成功。不幸的是,要整理一下有点难看:(

但是,是的,您至少应该记录下来。

07-24 09:37