我正在使用java.util.concurrent.ExecutorService.submit(Callable<T>)
来调用返回void的Callable
个任务。我们选择Callable
超过Runnable
的原因是为了利用Callable
抛出已检查异常的能力,因为我们确实没有结果。移动到Findbugs 2.0后,对提交的调用被标记为违规,因为我们忽略了异常的返回值。只是想检查这是否是一个公平的违规行为 - 因为检查返回值无论如何我都不想做。
提前致谢!
答案 0 :(得分:3)
如果您正在使用Callable,因为它可以抛出异常,那么您似乎想要抓住并检查Future以查看是否抛出了异常。否则,您正在设计代码以抛出已检查的异常,但从不处理它。