# File lib/thor/base.rb, line 386
      def start(given_args=ARGV, config={})
        self.debugging = given_args.delete("--debug")
        config[:shell] ||= Thor::Base.shell.new
        dispatch(nil, given_args.dup, nil, config)
      rescue Thor::Error => e
        debugging ? (raise e) : config[:shell].error(e.message)
        exit(1) if exit_on_failure?
      end