gpt4 book ai didi

java - 使用 runAsync 时 Play 框架处理错误

转载 作者:行者123 更新时间:2023-11-30 02:55:10 24 4
gpt4 key购买 nike

我在尝试处理负责数据插入的其余服务上的服务器错误时遇到问题。

public CompletableFuture<Result> insertSomething() throws IOException {
JsonNode jsNode = request().body().asJson();
format json node to be used
}
return CompletableFuture.runAsync(() -> {
try {
service.insertSomething(something);
} catch (ParseException e) {
internalServerError();
}
})
.thenApply(future -> created("data inserted"))
.exceptionally(ex -> internalServerError());
}

internalServerError 永远不会抛出,并且一直显示“数据已插入”。即使我发送一些引发 ParseException 的数据。在 Debug模式下,我看到它传递了 catch,但没有抛出任何内容。

提前致谢

最佳答案

我找到了答案,我只需在 catch 中实例化一个 Throwable 类型的对象,如下所示:

public CompletableFuture<Result> insertSomething() throws IOException {
JsonNode jsNode = request().body().asJson();
format json node to be used
}
return CompletableFuture.runAsync(() -> {
try {
service.insertSomething(something);
} catch (ParseException e) {
new Throwable(e.getMessage());
}
})
.thenApply(future -> created("data inserted"))
.exceptionally(ex -> internalServerError());

}

关于java - 使用 runAsync 时 Play 框架处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37442523/

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