У меня есть ScheduledThreadPoolExecutor, который, кажется, ест исключения. Я хочу, чтобы моя служба-исполнитель уведомляла меня, если отправленный Runnable вызывает исключение.
Например, я хотел бы, чтобы приведенный ниже код по крайней мере распечатывал stackTrace IndexArrayOutOfBoundsException
threadPool.scheduleAtFixedRate(
new Runnable() {
public void run() {
int[] array = new array[0];
array[42] = 5;
}
},
1000,
1500L,
TimeUnit.MILLISECONDS);
Как побочный вопрос. Есть ли способ написать общий блок try try для ScheduledThreadPoolExecutor?
////////// КОНЕЦ ОРИГИНАЛЬНОГО ВОПРОСА //////////////
Как и предполагалось, следующий Декоратор работает хорошо.
public class CatcherTask implements Runnable{
Runnable runMe;
public CatcherTask(Runnable runMe) {
this.runMe = runMe;
}
public void run() {
try {
runMe.run();
} catch (Exception ex){
ex.printStackTrace();
}
}
}