diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2016-05-13 17:43:48 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2016-05-15 18:44:16 -0700 |
commit | e35b98e6f5c54330245645f2ed40d56c74538902 (patch) | |
tree | 272bba30020bde27d177d2cf6227dfa8bb7a525f /actionpack/lib/action_controller/metal/data_streaming.rb | |
parent | 6810847f495cd282c2659be738ac8271ecdec12f (diff) | |
download | rails-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/data_streaming.rb')
0 files changed, 0 insertions, 0 deletions