MST

星途 面试题库

面试题:Java中CompletableFuture如何使用handle处理异常并返回新结果

请编写一段Java代码,使用CompletableFuture模拟一个异步任务,该任务可能会抛出异常,然后使用handle方法处理异常并返回一个新的结果。
32.8万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.util.concurrent.CompletableFuture;

public class CompletableFutureExample {
    public static void main(String[] args) {
        CompletableFuture.supplyAsync(() -> {
            if (Math.random() < 0.5) {
                throw new RuntimeException("模拟异常");
            }
            return "任务正常完成";
        })
       .handle((result, ex) -> {
            if (ex != null) {
                System.out.println("捕获到异常: " + ex.getMessage());
                return "处理异常后返回的新结果";
            }
            return result;
        })
       .thenAccept(System.out::println);
    }
}