docs: def _try_parse_reaction(self, reaction_id, s,
                              parser=parse_reaction, **kwargs):
          """Try to parse the given reaction equation string.
  
          Returns the parsed Reaction object, or raises an error if the reaction
          could not be parsed.
          """
          try:
              return parser(s, **kwargs)
          except ReactionParseError as e:
              if e.indicator is not None:
                  logger.error('{}\n{}\n{}'.format(
                      str(e), s, e.indicator))
              raise ParseError('Unable to parse reaction {}: {}'.format(
                  reaction_id, s))