gpt4 book ai didi

java - 如何让 eclipse 在可完成的 future 中报告未报告的异常?

转载 作者:行者123 更新时间:2023-12-02 11:00:49 27 4
gpt4 key购买 nike

我在我的代码中发现了一个类似于此要点的错误:
https://gist.github.com/rompetroll/667bf46ac0168a92497a

如果我直接在 .thenApply(Func) 中定义这样的 lambda方法,我会得到未报告的异常编译错误。

不工作:

Optional o = Optional.of(nullable);

return myComplFuture
.thenApply(o -> o.orElseThrow(() -> new RuntimeException("nah"));

这确实有效:
Optional o = Optional.of(nullable);
Function<Optional<String>, String> stringOrException = o -> o.orElseThrow(() -> new RuntimeException("nah");

return myComplFuture
.thenApply(stringOrException);

那么,请谁能告诉我,为什么第一个不编译,而后者呢?
也可以请任何人告诉我如何在eclipse中标记这个错误?

我尝试过的事情:
窗口 -> 首选项 -> Java -> 编译器 -> 错误/警告
但是我没有找到任何可以显示 eclipse 中的编译器错误的东西。事实上,eclipse 并没有在这条线旁边显示一个红色的 x。但每次我运行 mvn test编译器提示如要点所示。

提前致谢!

最佳答案

Afaik,没有办法让 Eclipse IDE 使用 javac , 但你可以 make Maven use the Eclipse compiler , 以避免编辑器突出显示和 maven 构建之间的不一致。

关于这个特定问题,它似乎是一个与类型推断相关的编译器错误,存在于更新 77 之前的所有版本中,但不存在于更新 92 及更高版本中。所以这个具体问题也可以通过更新jdk来解决。

关于java - 如何让 eclipse 在可完成的 future 中报告未报告的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630320/

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