class_docstr: base exception class for all parsing runtime exceptions
code: def __str__(self) -> str:
      if self.pstr:
          if self.loc >= len(self.pstr):
              foundstr = ", found end of text"
          else:
              # pull out next word at error location
              found_match = _exception_word_extractor.match(
                  self.pstr, self.loc
              )
              if found_match is not None:
                  found = found_match.group(0)
              else:
                  found = self.pstr[self.loc : self.loc + 1]
              foundstr = (", found %r" % found).replace(r"\\", "\\")
      else:
          foundstr = ""
      return f"{self.msg}{foundstr}  (at char {self.loc}), (line:{self.lineno}, col:{self.column})"
  
imports: import re
  import sys
  import typing
  from .util import col, line, lineno, _collapse_string_to_ranges, replaced_by_pep8
  from .unicode import pyparsing_unicode
label_desc: Use image node_id 10 for calling the ParseBaseException obj's underlying member method code with example usage: obj.__str__() and returns: self, foundstr, str, self, str, self, str, self, str