# File lib/merb-core/dispatch/dispatcher.rb, line 46
    def handle
      @start = env["merb.request_start"] = Time.now
      Merb.logger.info { "Started request handling: #{start.to_s}" }

      find_route!
      return rack_response if handled?

      klass = controller

      unless klass < Controller
        raise NotFound,
          "Controller '#{klass}' not found.\n" \
          "If Merb tries to find a controller for static files, " \
          "you may need to check your Rackup file, see the Problems " \
          "section at: http://wiki.merbivore.com/pages/rack-middleware"
      end

      Merb.logger.debug { "Routed to: #{klass::_filter_params(params).inspect}" }

      if klass.abstract?
        raise NotFound, "The '#{klass}' controller has no public actions"
      end

      dispatch_action(klass, params[:action])
    rescue Object => exception
      dispatch_exception(exception)
    end