gpt4 book ai didi

java - 当 javaslang Try 流包含异常时如何抛出

转载 作者:行者123 更新时间:2023-12-01 08:49:08 25 4
gpt4 key购买 nike

在 javaslang 中,如果我有 Stream<Try<MyClass> ,当流中的任何项目包含已检查的异常时,我该如何抛出?我不能这样做,因为 peek 不接受抛出 lambda

stream.peek(t -> t.onFailure((t2) -> {throw t2.getCause();}));

谢谢

最佳答案

免责声明:我是 Javaslang 的创建者

因为 Try 将已检查的异常包装在未检查的 NonFatalException 中,所以调用就足够了

  stream.peek(Try::get)

这只会抛出 NonFatalException(<original-exception>)当失败出现时。

<小时/>

请注意,我们将在 Javaslang 3.0 中稍微更改行为。 Try 将不再包装异常。相反,它会“偷偷地抛出”原始异常。这在 Java 中可以通过 little trick 实现。 .

但是,Javaslang 3.0 的发布还需要一段时间。目前我们正在开发 2.1.0。

关于java - 当 javaslang Try 流包含异常时如何抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42494983/

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