'error(msg : string)
Print a usage message incorporating \'msg\' to stderr and exit.
If you override this in a subclass, it should not return -- it
should either exit or raise an exception.'

def error(self, msg):

    self.print_usage(sys.stderr)
    self.exit(2, ('%s:    error:    %s\n' % (self.get_prog_name(), msg)))
