用于void callable的Findbugs 2.0 ThreadPoolExecutor.submit忽略异常返回值

时间:2012-09-13 13:02:10

标签: java findbugs java.util.concurrent

我正在使用java.util.concurrent.ExecutorService.submit(Callable<T>)来调用返回void的Callable个任务。我们选择Callable超过Runnable的原因是为了利用Callable抛出已检查异常的能力,因为我们确实没有结果。移动到Findbugs 2.0后,对提交的调用被标记为违规,因为我们忽略了异常的返回值。只是想检查这是否是一个公平的违规行为 - 因为检查返回值无论如何我都不想做。

提前致谢!

1 个答案:

答案 0 :(得分:3)

如果您正在使用Callable,因为它可以抛出异常,那么您似乎想要抓住并检查Future以查看是否抛出了异常。否则,您正在设计代码以抛出已检查的异常,但从不处理它。