#exception #completable-future
#исключение #завершаемое-будущее
Вопрос:
Я хотел бы попросить о помощи.
У меня есть процесс, выполняющий библиотеку, использующую CompletableFuture, я бы хотел, чтобы при возникновении исключения в этой библиотеке этот CompletableFuture создавал исключение, чтобы остановить основную программу, использующую эту библиотеку.
Я использую его таким образом:
CompletableFuture.в исключительных случаях(….
но когда вы создаете исключение, основная программа продолжает работать.
Ответ №1:
exceptionally
похоже на a catch
, поэтому вы на самом деле делаете противоположное тому, что хотите, используя его. Просто отбросьте exceptionally
, и любое исключение, генерируемое из будущего, будет обернуто в a CompletionException
и распространено в основной поток.
Комментарии:
1. … и распространяется на основной поток, если основной поток вызывает
join()
future .