gpt4 book ai didi

java - 如何将 catch finally 重组为 Java 8 中的一种方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:06:04 25 4
gpt4 key购买 nike

Java 8 的新手,我想优化我的代码如下:

public Response create() {
try{
...
} catch (Exception e) {
codeA;
} finally {
codeB;
}
}

public Response update() {
try{
...
} catch (Exception e) {
codeA;
} finally {
codeB;
}
}

我有很多方法使用相同的方式来捕获异常并最终执行相同的操作,是否可以用 Java 8 中的方法替换下面的通用代码?这样我就可以优化使用此公共(public)代码的所有方法。

} catch (Exception e) {
codeA;
} finally {
codeB;
}

最佳答案

取决于您在 ... 中执行的操作。你可以这样做:

private Response method(Supplier<Response> supplier) {
try{
return supplier.get();
} catch (Exception e) {
codeA;
} finally {
codeB;
}
}

并像这样调用:

public Response create() { return method(() -> { ... for create }); }
public Response update() { return method(() -> { ... for update }); }

关于java - 如何将 catch finally 重组为 Java 8 中的一种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54041246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com