当前位置: 首页 > 知识库问答 >
问题:

java完整未来有返回CompletionStage处理异常的方法吗?

胡和煦
2023-03-14

java completableFuture是否有thenComose方法,该方法具有CompletionStage值类型的param来处理异常?像这样的方法:

 public <U> CompletableFuture<U> thenCompose(BiFunction<? super T, Throwable, ? extends CompletionStage<U>> var1)

我想处理结果和异常并使用函数A转换结果,返回完整的Future,就像:

CompletableFuture<V> A(V v,Throwable e); 

函数A将调用RPC。它是一个异步函数。

复杂uture.handle

共有1个答案

商昂然
2023-03-14

你有没有试过用handle或异常地连接然后合成?

它应该能满足你的需要。

 类似资料:
  • 问题内容: 我正在使用Java 8进行项目开发,发现了一种我无法理解的情况。 我有这样的代码: 这段代码可以正常工作,但是我可以使用方法参考将其重写: 而且此代码无法编译,从而导致错误。 IDEA也给了我错误。 所以,我的问题是为什么?为什么代码在每个循环中都用编译,而lambda不编译? 问题答案: 如果您查看接口,则该方法(您的方法引用将有效使用的方法)未声明为抛出任何已检查的异常- 因此,您

  • 我希望下面的代码在其中一个方法<code>callfuture1()</code>或<code>callfuture2()</code>抛出异常时返回自定义消息。我的理解是,如果任何一个未来失败,都将是失败的未来。 但是,当 引发异常时。 不执行。相反,我看到调用堆栈停止在 中的代码行,其中发生了异常并返回了标准内部错误。为什么会这样? ====更新==== 我从响应中看到,潜在的问题是异常被抛出

  • 问题内容: 我目前正在学习如何正确执行自定义异常的过程,偶然发现了一个问题。每当我尝试利用引发此自定义异常的类的对象时,IDE的调试器(我使用的是IntelliJ想法)都会说“未处理的异常:InsertExceptionName()”。代码以简化的方式看起来像这样。在这种情况下,如果随机生成的数字<0.5,它将返回一个异常,否则返回一个数字,但不会这样做。我想念什么? -- -- 问题答案: 您是

  • 我有一个方法可以返回< code>Future -成功或失败,甚至可以抛出一个异常。我可以通过在整个方法上放置try catch块并始终返回Future来避免这种情况,但我现在想避免这种情况。我对调用这样的方法没有什么问题: 1)在调用方代码中,如果我使用,我希望执行一个方法,并期望一个未来或异常,我试图通过以下方式处理: 输出:(上面没有执行恢复或捕获块) 但如果我将<code>val fut1

  • 我正在和Java8一起做项目,发现了一个我无法理解的情况。 我有这样的代码: 这段代码运行良好,但我可以使用方法引用重写它: 而这段代码没有编译,在方法引用中给出了不兼容的抛出类型*SomeException*。 IDEA还向我提供了错误

  • 问题内容: 如果我在.NET中没有记错的话,可以为未处理的异常注册“全局”处理程序。我想知道Java是否有类似的东西。 问题答案: 是的,有,但只有在没有设置时才会触发。