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