考虑我使用 ScheduledExecutorService 为定期执行安排了一个 Runnable,并且发生了一些系统错误,例如 OutOfMemory。它会被无声地吞噬。
scheduler.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() {
throw new OutOfMemoryError(); // Swallowed
}
}, 0, delay, TimeUnit.SECONDS);
正常吗?
为什么它不传播到容器?
处理此类错误的正确方法是什么?
谢谢!