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

时间:2016-08-18 15:45:38

标签: java pdf try-catch pdfbox catch-block

我正在使用Apache PDFBox来阅读一些PDF文件。当我完成PDF时,我需要发布PDF文档。为此,我调用了抛出异常的close()方法。该程序还允许编辑PDF,在这种情况下可以抛出异常,但我的程序只是关闭它们不应该出错。在这种情况下,只是捕获异常并将catch块留空或是否有更好的方法来处理它是可以接受的?

例如:

CONSTRAINT CHECK (user_id_a IS NOT NULL OR user_id_b IS NOT NULL)

2 个答案:

答案 0 :(得分:2)

当流关闭抛出异常时,忽略它是否可以接受?

在大多数情况下,它确实取决于具体情况。如果您决定不处理close异常并希望避免使用额外的try-catch块,那么您可以使用IOUtils库中的commons-io

finally {
    IOUtils.closeQuietly(pdf);
}

这相当于以下

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

答案 1 :(得分:0)

    try {
         //code to catch
    } catch (IOException ex) {//specific catch
        ex.printStackTrace();

    } catch (Exception e) {//Catch errors lazily, This will catch any exception within the try that is rooted from the Exception class.
        e.printStackTrace();
    }

有更多正确的方法可以做到这一点,但这是一种简单的方法。你真的只需要一个catch子句,你可以有多个catch。 Google"如何在java中使用Try / catch / finally"你应该想出一些好东西。

祝你好运!