code: private void zzScanError(int errorCode) {
      String message;
      try {
        message = ZZ_ERROR_MSG[errorCode];
      }
      catch (ArrayIndexOutOfBoundsException e) {
        message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
      }
  
      throw new Error(message);
    }
docs: Reports an error that occured while scanning.
  
  In a wellformed scanner (no or only correct usage of
  yypushback(int) and a match-all fallback rule) this method
  will only be called with things that "Can't Possibly Happen".
  If this method is called, something is seriously wrong
  (e.g. a JFlex bug producing a faulty scanner etc.).
  
  Usual syntax/scanner level error handling should be done
  in error fallback rules.
  
  @param   errorCode  the code of the errormessage to display