Возможный дубликат:
Обработка исключений из задач Java ExecutorService
Я использую ExecutorService
из Java для координации потоков.
Для запуска потоков я использую
pool = new ExecutorService(2);
callableResults = pool.invokeAll(threads);
Чтобы собрать результат, я использую future.get()
для каждого потока.
"threads" - это список объектов класса, который реализует Callable
и переопределяет call()
.
Теперь у меня возникла следующая проблема. Метод call()
делает разные исключения. invokeAll()
и future.get()
бросать только InterruptedException
.
Где я могу уловить мои особые исключения, которые я вбрасываю call()
? Или я должен обращаться с ними там? Если выбрано одно из этих исключений, то получается a InterruptedException
?