このコード ブロックでは、特定の種類の例外に関する情報が失われると思います。次のコードを含むメソッドに一般的な Exception throws 句を追加する必要がないように、Exception の型を保持するにはどうすればよいですか? ジェネリックを正しく採用することと関係があると思います。ガイダンスをいただければ幸いです。
for( int i = 0; i < retries; i ++ ) {
Exception anyException = null;
try {
Future<Object> returnedObj = threadPool.submit(task);
toReturn = returnedObj.get(timeout, timeunit);
break;
} catch (RejectedExecutionException ex) {
anyException = ex;
} catch (NullPointerException ex ) {
anyException = ex;
}
...
finally {
...
if(i == retries -1 && anyException != null) {
throw anyException;
}
}
}