0

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

例如:

try {
    pdf.close();
catch {
    //empty
}
4

2 回答 2

2

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

在大多数情况下,它是,但它确实取决于上下文。如果您决定不处理关闭异常并希望避免额外的 try-catch 块,那么您可以使用IOUtilsfrom commons-iolibrary.

finally {
    IOUtils.closeQuietly(pdf);
}

这等价于以下

finally {
    try {
        if (closeable != null) {
            closeable.close();
        }
    } catch (IOException ioe) {
        // ignore
    }
}
于 2016-08-18T16:00:33.410 回答
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。谷歌“如何在 java 中使用 Try/catch/finally”,你应该想出一些好东西。

祝你好运!

于 2016-08-18T16:00:43.893 回答