我正在使用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/