如何处理关闭文件引发的异常?

卡贝斯沃赫拉

我正在使用Apache PDFBox读取一些PDF文件。完成PDF的处理后,我需要释放PDF文档。为此,我调用了close()方法,该方法引发异常。该程序还允许编辑PDF,在这种情况下可能会引发异常,但我的程序只是将其关闭,不会出错。在这种情况下,仅捕获异常并将catch块留空还是可以接受的?

例如:

try {
    pdf.close();
catch {
    //empty
}
无屏幕名称

当流关闭引发异常时,只忽略它是否可以接受?

在大多数情况下是的,但这实际上取决于上下文。如果您决定不处理close异常并希望避免使用额外的try-catch块,则可以IOUtilscommons-io库中使用

finally {
    IOUtils.closeQuietly(pdf);
}

这等效于以下内容

finally {
    try {
        if (closeable != null) {
            closeable.close();
        }
    } catch (IOException ioe) {
        // ignore
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章