public final class LoggedUncaughtExceptionHandler extends Object implements Thread.UncaughtExceptionHandler
Logged uncaught exception handler
1、`ThreadPoolExecutor#submit()`会被封装成`FutureTask`,当抛异常时会通过`FutureTask#setException(ex)`将异常赋值到outcome变量中。
异常信息不被打印,只有通过`FutureTask#get`获取结果时会重新抛出异常`throw new ExecutionException((Throwable)x);`
2、`ScheduledThreadPoolExecutor#scheduleWithFixedDelay()`会被封装成`ScheduledFutureTask`,
当执行`Runnable#run`内部抛异常时,`ScheduledFutureTask.super.runAndReset()`方法返回false,导致不会设置下次执行时间
Copyright © 2024. All rights reserved.