Make sure that exceptions which are thrown outside of the user code try their best to be handeled in ApplicationController#rescue_action.

This allos handling of ActionController::RoutingError which were previously always handeled by ActionController#Base


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5516 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Tobias Lütke
2006-11-13 20:23:00 +00:00
parent 4978d1dce7
commit a64c6af57c
2 changed files with 4 additions and 1 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Make sure that exceptions which are thrown outside of the user code try their best to be handeled in ApplicationController#rescue_action [Tobias Luetke]
* Rails::VERSION::STRING should always be available without having to require 'rails/version'. #6244 [fearoffish]
* Update to Prototype 1.5.0_rc2. [Sam Stephenson]

View File

@@ -42,7 +42,8 @@ class Dispatcher
end
rescue Exception => exception # errors from CGI dispatch
failsafe_response(output, '500 Internal Server Error', exception) do
controller ||= const_defined?(:ApplicationController) ? ApplicationController : ActionController::Base
controller ||= ApplicationController rescue LoadError nil
controller ||= ActionController::Base
controller.process_with_exception(request, response, exception).out(output)
end
ensure