### Rails 异常处理 的多种处理方法
1. routes match ‘*path‘, via: :all, to: ‘controller#action‘
2. application.rb 的 exception_app
```ruby
# application.rb
config.exceptions_app = ->(env) { ExceptionController.action(:show).call(env) }
config.action_dispatch.rescue_responses["ActionController::RoutingError"] = :not_found
config.action_dispatch.rescue_responses["ActionController::BadRequest"] = :bad_request
```
3. exception_notification config/environments/
```ruby
#异常邮件通知
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.163.com",
:port => 25,
:domain => "163.com",
:authentication => :login,
:user_name => "[email protected]",
:password => "1234567zxcvbnm"
}
config.middleware.use ExceptionNotifier,
:email_prefix => "[fgcc程序发生异常]",
:sender_address => %{"异常通知" <[email protected]>},
:exception_recipients => %w{[email protected]}
```
4. Slack & exception_notification
```ruby
# Gemfile
# Slack api 封装
gem ‘slack-notifier‘
# 异常监控
gem ‘exception_notification‘
```
版权声明:本文为博主原创文章,未经博主允许不得转载。