我不相信在使用时有标准的“钩子”来获取这些异常
submit()。但是,如果您需要支持
submit()(听起来很合理,假设您使用
Callable),则始终可以包装Callables和Runnables:
ExecutorService executor = new ThreadPoolExecutor(1, 10, 60, TimeUnit.SECONDS, new linkedBlockingDeque<Runnable>()) { @Override public <T> Future<T> submit(final Callable<T> task) { Callable<T> wrappedTask = new Callable<T>() { @Override public T call() throws Exception { try { return task.call(); } catch (Exception e) { System.out.println("Oh boy, something broke!"); e.printStackTrace(); throw e; } } }; return super.submit(wrappedTask); }};当然,仅当您是第一个建筑的人时,此方法才有效
ExecutorService。此外,请记住要覆盖所有三个
submit()变体。



