Lea*_*der 4 java java-8 completable-future
我有这种方法:
default <U> CompletableFuture<U> submit(Supplier<U> supplier) {
    return CompletableFuture.supplyAsync(supplier, .....getThreadPool());
}
它由不同的类广泛使用,但是当前如果计算失败,则没有默认日志记录。我的第一种方法是:
.exceptionally(throwable ->
                .....handleThrowable(throwable, runnable);
)
但是此方法用于恢复,因为我必须返回一些东西。如果我只想登录该怎么办?
这将处理异常并返回原始结果,因此下游代码也将有机会对异常进行处理。那是你打算的吗?
default <U> CompletableFuture<U> submit(Supplier<U> supplier) {
    return CompletableFuture.supplyAsync(supplier, ....)
            .whenComplete((u, ex) -> {
                if (ex != null) {
                    handleThrowable(ex);
                }
            });
}
| 归档时间: | 
 | 
| 查看次数: | 1364 次 | 
| 最近记录: |