面试题答案
一键面试在Java的CompletableFuture链式调用中,通常使用exceptionally
方法来捕获并处理异步操作抛出的异常。示例如下:
import java.util.concurrent.CompletableFuture;
public class CompletableFutureExceptionHandling {
public static void main(String[] args) {
CompletableFuture.supplyAsync(() -> {
if (Math.random() < 0.5) {
throw new RuntimeException("模拟异常");
}
return "操作成功";
})
.exceptionally(ex -> {
System.out.println("捕获到异常: " + ex.getMessage());
return "默认值";
})
.thenAccept(System.out::println);
}
}
在上述示例中,supplyAsync
发起一个异步操作,若操作抛出异常,exceptionally
方法会捕获该异常,并返回一个默认值。