code: function computeWithTryCatch(reducer, action, state) {
    let nextState = state;
    let nextError;
    try {
      nextState = reducer(state, action);
    } catch (err) {
      nextError = err.toString();
      if (isChrome) {
        // In Chrome, rethrowing provides better source map support
        setTimeout(() => {
          throw err;
        });
      } else {
        console.error(err); // eslint-disable-line no-console
      }
    }
  
    return {
      state: nextState,
      error: nextError
    };
  }
docs: Computes the next entry with exceptions catching.