code: function (name, func, context, a, b, c, d, e, f) {
      ReactErrorUtils.invokeGuardedCallback.apply(this, arguments);
      if (ReactErrorUtils.hasCaughtError()) {
        var error = ReactErrorUtils.clearCaughtError();
        if (!ReactErrorUtils._hasRethrowError) {
          ReactErrorUtils._hasRethrowError = true;
          ReactErrorUtils._rethrowError = error;
        }
      }
    }
docs: Same as invokeGuardedCallback, but instead of returning an error, it stores
  it in a global so it can be rethrown by `rethrowCaughtError` later.
  TODO: See if _caughtError and _rethrowError can be unified.
  
  @param {String} name of the guard to use for logging or debugging
  @param {Function} func The function to invoke
  @param {*} context The context to use when calling the function
  @param {...*} args Arguments for function