class Haml::Exec::Generic

def parse!

def parse!
  begin
    @opts = OptionParser.new(&method(:set_opts))
    @opts.parse!(@args)
    process_result
    @options
  rescue Exception => e
    raise e if e.is_a? SystemExit
    $stderr.print "#{e.class} on line #{get_line e}: " if @options[:trace]
    $stderr.puts e.message
    e.backtrace[1..-1].each { |t| $stderr.puts "  #{t}" } if @options[:trace]
    exit 1
  end
  exit 0
end