# File lib/rake.rb, line 1274
1274:   def run
1275:     handle_options
1276:     begin
1277:       tasks = collect_tasks
1278:       load_rakefile
1279:       if $show_tasks
1280:         display_tasks_and_comments
1281:       elsif $show_prereqs
1282:         display_prerequisites
1283:       else
1284:         tasks.each { |task_name| Task[task_name].invoke }
1285:       end
1286:     rescue Exception => ex
1287:       puts "rake aborted!"
1288:       puts ex.message
1289:       if $trace
1290:         puts ex.backtrace.join("\n")
1291:       else
1292:         puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || ""
1293:       end
1294:       exit(1)
1295:     end    
1296:   end