CompletableFuture для остановки основной программы

#exception #completable-future

#исключение #завершаемое-будущее

Вопрос:

Я хотел бы попросить о помощи.

У меня есть процесс, выполняющий библиотеку, использующую CompletableFuture, я бы хотел, чтобы при возникновении исключения в этой библиотеке этот CompletableFuture создавал исключение, чтобы остановить основную программу, использующую эту библиотеку.

Я использую его таким образом:

CompletableFuture.в исключительных случаях(….

но когда вы создаете исключение, основная программа продолжает работать.

Ответ №1:

exceptionally похоже на a catch , поэтому вы на самом деле делаете противоположное тому, что хотите, используя его. Просто отбросьте exceptionally , и любое исключение, генерируемое из будущего, будет обернуто в a CompletionException и распространено в основной поток.

Комментарии:

1. … и распространяется на основной поток, если основной поток вызывает join() future .