DEV Community

loizenai
loizenai

Posted on

Java 8 CompletableFuture Handle Exception

https://grokonez.com/java/java-8/java-8-completablefuture-handle-exception

Java 8 CompletableFuture Handle Exception

Exception handling is important in software development, Java 8 CompletableFuture also provides methods to handle errors when they occurs.

Related article:

I. Ways to handle exception

1. Using exceptionally method


CompletableFuture exceptionally()

For the example in previous post, we should use exceptionally() after chain of thenApply() methods:


future = future.thenApply(Integer::parseInt) // input String: "not detected"
                .thenApply(r -> r * 2 * Math.PI)
                .thenApply(s -> "apply>> " + s)
                .exceptionally(ex -> "Error: " + ex.getMessage());

Run the code, the result will be:


Error: java.lang.NumberFormatException: For input string: "not detected"

"not detected" is the String we return to future object before call the first thenApply() method.

2. Using handle method

Another way to handle exception is using handle method:

https://grokonez.com/java/java-8/java-8-completablefuture-handle-exception

Java 8 CompletableFuture Handle Exception

Top comments (0)