I have Try inside CompletableFuture, and then 2 of these CompletableFuture are then linked with thenCombine and fed into another function All the existing exception handling logic works fine, but when I change thenCombine to thenCombineAsync all the exception handling logic seems to be ignored and I keep getting NullPointerException (even if the originally handled exception was something else).