Ausnahmebehandlung in ThreadPools
Ich habe einen ScheduledThreadPoolExecutor, der Ausnahmen zu essen scheint. Ich möchte, dass mein Executor-Service mich benachrichtigt, wenn eine übergebene ausführbare Datei eine Ausnahme auslöst.
Zum Beispiel möchte ich, dass der folgende Code mindestens die stackTrace @ von IndexArrayOutOfBoundsException druck
threadPool.scheduleAtFixedRate(
new Runnable() {
public void run() {
int[] array = new array[0];
array[42] = 5;
}
},
1000,
1500L,
TimeUnit.MILLISECONDS);
Als Nebenfrage. Gibt es eine Möglichkeit, einen allgemeinen try catch-Block für einen ScheduledThreadPoolExecutor zu schreiben?
////////// ENDE DER URSPRÜNGLICHEN FRAGE //////////////
Wie vorgeschlagen, funktioniert der folgende Decorator gut.
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();
}
}
}