code: public String[] parse(String message, String[] args) {
  
      String[] nonOptions = null;
  
      try {
        nonOptions = parse(args);
      } catch (ArgException ae) {
        String exceptionMessage = ae.getMessage();
        if (exceptionMessage != null) {
          System.out.println(exceptionMessage);
        }
        System.out.println(message);
        System.exit(-1);
        // throw new Error ("message error: ", ae);
      }
      return nonOptions;
    }
docs: Sets option variables from the given command line; if any command-line argument is illegal,
  prints the given message and terminates the program.
  
  <p>If an error occurs, prints the exception's message, prints the given message, and then
  terminates the program. The program is terminated rather than throwing an error to create
  cleaner output.
  
  @param message a message to print, such as "Pass --help for a list of all command-line
  arguments."
  @param args the command line to parse
  @return all non-option arguments
  @see #parse(String[])