TimeOutException不为CompletableFuture调用异常方法

时间:2019-06-27 09:54:29

标签: java completable-future

我们在应用程序中使用CompletableFuture,并且遇到了问题。在执行线程时,我们多次观察TimeOutException,但是这并没有陷入异常块中。

下面是示例代码:

CompletableFuture.supplyAsync(doSomething(), executor).
exceptionally(exception -> log.error("error")).thenAccept(result-> consumeResult());

doSomething 方法中,我们正在观察以下错误(来自日志)

java.util.concurrent.TimeoutException: null
    at rx.internal.operators.OnSubscribeTimeoutTimedWithFallback$TimeoutMainSubscriber.onTimeout(OnSubscribeTimeoutTimedWithFallback.java:166) [rxjava-1.3.7.jar:1.3.7]
    at rx.internal.operators.OnSubscribeTimeoutTimedWithFallback$TimeoutMainSubscriber$TimeoutTask.call(OnSubscribeTimeoutTimedWithFallback.java:191) [rxjava-1.3.7.jar:1.3.7]
    at rx.internal.schedulers.EventLoopsScheduler$EventLoopWorker$2.call(EventLoopsScheduler.java:189) [rxjava-1.3.7.jar:1.3.7]

我期望这会调用异常阻止,但事实并非如此。从源文件中,我可以看到异常并没有完全抛出,而是在属性上设置的。

有没有办法确定此异常已引发,以便我们进行相应处理?

0 个答案:

没有答案