@Slf4j
public class Test01 {
public static void main(String[] args) {
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(() -> {
throw new RuntimeException("Oops!");
});
try {
future1.get();
} catch (Exception e) {
log.error("错误日志:", e);
}
}
}
运行结果:
14:16:09.626 [main] ERROR com.corpgovernment.Test01 - 错误日志:
java.util.concurrent.ExecutionException: java.lang.ArithmeticException: / by zero
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) ~[?:1.8.0_302]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) ~[?:1.8.0_302]
at com.corpgovernment.Test01.main(Test01.java:20) [test-classes/:?]
Caused by: java.lang.ArithmeticException: / by zero
at com.corpgovernment.Test01.lambda$main$0(Test01.java:13) ~[test-classes/:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_302]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1596) ~[?:1.8.0_302]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_302]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_302]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_302]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_302]
Process finished with exit code 0