CompletableFuture的异常如何不抛出
时间: 2023-10-17 17:20:08 浏览: 230
CompletableFuture.zip
如果你不想在使用CompletableFuture时抛出异常,可以使用exceptionally()方法来处理异常并返回一个默认值,而不是抛出异常。例如:
```
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
// 可能会抛出异常的代码
return 1;
}).exceptionally(e -> {
System.out.println("发生异常:" + e);
return 0;
});
```
在这个示例中,如果supplyAsync()方法中的代码抛出异常,exceptionally()方法中的代码将会被执行,并返回默认值0。如果没有抛出异常,supplyAsync()方法中的返回值将会被返回。
阅读全文