가능한 중복을 Callable.call에서 던진 예외를 잡으려고 :
Handling exceptions from Java ExecutorService tasks는 어디()
나는 스레드를 조정 자바에서 ExecutorService
을 사용합니다. 스레드를 시작하기 위해 나는이 결과를 수집하려면
pool = new ExecutorService(2);
callableResults = pool.invokeAll(threads);
을 사용하여, 나는 각 스레드에 대한 future.get()
를 사용합니다. "threads"는 Callable
을 구현하고 call()
을 재정의하는 클래스의 객체 목록입니다.
이제 다음과 같은 문제점이 있습니다. call()
메서드는 여러 가지 예외를 throw합니다. invokeAll()
및 future.get()
은 InterruptedException
으로 제한됩니다.
call()
에 던져 넣는 예외는 어디에서 찾을 수 있습니까? 아니면 거기에서 그들을 처리해야합니까? 이러한 예외 중 하나가 발생하면 결과는 InterruptedException
입니까?
이전에 읽었지만 Callable을 사용하고 call()을 사용하는 것을 보지 못했습니까? 어쩌면 내가 그것을 감독한다!? 편집 : 올바른. 나는 그것을 감독한다. 죄송합니다. – nano7
이 답변 : http://stackoverflow.com/a/2248166/118846 –
그는 Runnable을 사용하지만 예외 catch는 동일합니다. – Gray