code: function invokeGuardedCallback(name, func, a) {
    try {
      func(a);
    } catch (x) {
      if (caughtError === null) {
        caughtError = x;
      }
    }
  }
docs: Call a function while guarding against errors that happens within it.
  
  @param {String} name of the guard to use for logging or debugging
  @param {Function} func The function to invoke
  @param {*} a First argument
  @param {*} b Second argument