java - 使用Lombok的@Cleanup时如何捕获异常?

标签 java resources lombok

我正在使用Lombok's @Cleanup即使我发现它非常有用,我也不知道如何捕获由使用资源的主代码块引发的异常。

我的代码如下:

ScriptRunner runner = null;
try {
    runner = scriptRunner();

    for (Resource sqlFile : sqlScripts) {
        runScript(sqlFile.getFile(), runner);
    }
} catch (Exception ex) {
    log.error("Error found when attempting to run script", ex);
} finally {
    if (runner != null) {
        runner.closeConnection();
    }
}

使用 Lombok,我可以这样简化上面的代码:

@Cleanup("closeConnection") ScriptRunner runner = scriptRunner();

for (Resource sqlFile : sqlScripts) {
    runScript(sqlFile.getFile(), runner);
}

但是我会错过捕获 for 循环执行时可能出现的任何异常的可能性。有没有办法用 Lombok 优雅地做到这一点? (即除了以编程方式使用“try/catch?”之外)

提前非常感谢。

最佳答案

没有。如果你想处理异常,你需要捕获它,为此你需要一个 try-catch block 。

全面披露:我是 Project Lombok 之一开发人员。

关于java - 使用Lombok的@Cleanup时如何捕获异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785282/

相关文章:

c++ - visual studio 用于查找资源文件的路径

Javac 无法在具有公共(public)枚举的静态嵌套类上编译注释

java - 在类上注释时,如何配置 lombok 以生成静态成员的 Getter/Setter

java - Java Web 应用程序的加密/解密/ key 轮换的现有做法是什么

java - 如何在 libgdx 的中心获得舞台?

java - 使用 jar 作为资源存档的简单方法

java - Lombok 和更改通用方法

java - 如何验证数千个 PDF 文件中的文本/内容

java - 将 Java 列表转换为 Scala 序列

design-patterns - 有没有好的设计模式食谱/食谱资源?