Предположим, я хочу восстановиться с каким -то значением, если я получу конкретное исключение, в противном случае возвращаю неудачное будущее за исключением. Я ожидаю что -то вроде этого: < /p>
Код: Выделить всё
public static void main(String[] args) {
CompletableFuture
.supplyAsync(FuturesExample::fetchValue)
.exceptionally(throwable -> {
if (throwable instanceof RuntimeException) {
return "All good";
}
throw throwable; // does not compile
});
}
public static String fetchValue() {
// code that potentially throws an exception
return "value";
}
Если функция FetchValue выбросит исключение , я хотел бы обработать ее в цепных методах. Я пробовал оба возврата, бросая , и бросал Throwable , но также не компилируется. Предлагает ли afpliebablefuture какое -либо решение для этого сценария? Мне известно, что интерфейс функции , который является параметром исключительного метода , не бросает никаких исключений - я просто хотел бы вернуть уже неудачное будущее в этом случае. Я хотел бы найти решение, используя Java 8.
Подробнее здесь:
https://stackoverflow.com/questions/554 ... -exception