干净的解决方法是使用
ExecutorService.submit()而不是
execute()。这将返回一个
Future,您可以用来检索结果或任务异常:
ExecutorService executor = Executors.newSingleThreadExecutor();Runnable task = new Runnable() { public void run() { throw new RuntimeException("foo"); }};Future<?> future = executor.submit(task);try { future.get();} catch (ExecutionException e) { Exception rootException = e.getCause();}


