Исполнитель, вероятно, устанавливает свой собственный обработчик необработанных исключений в потоке, поэтому трассировка стека не будет выводиться на консоль. Если исключение выдается в Runnable
, вы можете получить его из объекта ScheduledFuture
, возвращаемого методом scheduleAtFixedRate
:
ScheduledFuture<?> future = timer.scheduleAtFixedRate(r, 0, 100, TimeUnit.MILLISECONDS);
try {
future.get();
} catch (ExecutionException e) {
Throwable cause = e.getCause();
cause.printStackTrace();
}