# File lib/rake.rb, line 1445
1445:     def run
1446:       handle_options
1447:       begin
1448:         tasks = collect_tasks
1449:         load_rakefile
1450:         if $show_tasks
1451:           display_tasks_and_comments
1452:         elsif $show_prereqs
1453:           display_prerequisites
1454:         else
1455:           tasks.each { |task_name| Rake::Task[task_name].invoke }
1456:         end
1457:       rescue Exception => ex
1458:         puts "rake aborted!"
1459:         puts ex.message
1460:         if $trace
1461:           puts ex.backtrace.join("\n")
1462:         else
1463:           puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || ""
1464:         end
1465:         exit(1)
1466:       end    
1467:     end