aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/helpers.rb
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2016-05-13 17:43:48 -0700
committerJeremy Daer <jeremydaer@gmail.com>2016-05-15 18:44:16 -0700
commite35b98e6f5c54330245645f2ed40d56c74538902 (patch)
tree272bba30020bde27d177d2cf6227dfa8bb7a525f /actionpack/lib/action_controller/metal/helpers.rb
parent6810847f495cd282c2659be738ac8271ecdec12f (diff)
downloadrails-e35b98e6f5c54330245645f2ed40d56c74538902.tar.gz
rails-e35b98e6f5c54330245645f2ed40d56c74538902.tar.bz2
rails-e35b98e6f5c54330245645f2ed40d56c74538902.zip
Action Mailer: Declarative exception handling with `rescue_from`.
Follows the same pattern as controllers and jobs. Exceptions raised in delivery jobs (enqueued by `#deliver_later`) are also delegated to the mailer's rescue_from handlers, so you can handle the DeserializationError raised by delivery jobs: ```ruby class MyMailer < ApplicationMailer rescue_from ActiveJob::DeserializationError do … end ``` ActiveSupport::Rescuable polish: * Add the `rescue_with_handler` class method so exceptions may be handled at the class level without requiring an instance. * Rationalize `exception.cause` handling. If no handler matches the exception, fall back to the handler that matches its cause. * Handle exceptions raised elsewhere. Pass `object: …` to execute the `rescue_from` handler (e.g. a method call or a block to instance_exec) against a different object. Defaults to `self`.
Diffstat (limited to 'actionpack/lib/action_controller/metal/helpers.rb')
0 files changed, 0 insertions, 0 deletions