如何正确地从执行器中捕获运行时异常?
2022-09-01 00:00:10
假设我有以下代码:
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(myRunnable);
现在,如果扔一个,我怎么能抓住它?一种方法是向它提供我自己的实现,并为由此产生的 s 设置自定义 s。另一种方法是包装到包含 try-catch -block 的本地(匿名)。也许还有其他类似的解决方法。但。。。不知何故,这感觉很脏,我觉得它不应该这么复杂。有没有一个干净的解决方案?myRunnable
RuntimeExcpetion
ThreadFactory
newSingleThreadExecutor()
uncaughtExceptionHandler
Thread
myRunnable
Runnable