@Override protected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); if (t != null) { // shoudn't happen, caught in RunnableEvent.run() Log log = I2PAppContext.getGlobalContext().logManager().getLog(SimpleTimer2.class); log.log(Log.CRIT, "wtf, event borked: " + r, t); } }
// We need this as well as the wrapper for the benefit of non-repeating tasks @Override public void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); DebuggableThreadPoolExecutor.logExceptionsAfterExecute(r, t); }