@Override
    public void run() {
      try {
        run2();
      } catch (CancelException ignore) {
        // ignore: TimerThreads can fire during or near cache closure
      } catch (Throwable t) {
        logger.warn(String.format("Timer task <%s> encountered exception", this), t);
        // Don't rethrow, it will just get eaten and kill the timer
      }
    }
Does debug logging, catches critical errors, then delegates to {@link #run2()}
geode-core/src/main/java/org/apache/geode/internal/SystemTimer.java