Ich erhalte eine andere Ausgabe aus dem gleichen Code-Snippet unter verschiedenen Nebenversion von Java. Ich konnte das zugehörige Ticket auf dem offenen jdk bug tracker nicht finden.Verschiedene Nachrichten für CompletionException unter verschiedenen Nebenversionen von Java 8
CompletableFuture<String> completableFuture = new CompletableFuture<>();
completableFuture.complete("xxx");
completableFuture.thenCompose(str -> {
CompletableFuture<String> completableFuture1 = new CompletableFuture<>();
completableFuture1.completeExceptionally(new Exception("hello"));
return completableFuture1;
}).exceptionally(ex -> {
System.out.println(ex.getMessage());
return null;
}).get();
Output unter JDK 1.8.0_25:
Hallo
Output unter JDK 1.8.0_102:
java.lang.Exception: Hallo
Ist der neuere ein Fix oder eine Regression? Was ist das zugehörige Ticket?
Ist nicht die Ausnahmebedingung nur für Menschen da? Alle notwendigen weiteren Werte sollten in der Exception selbst enthalten sein. – Robert