Rails 异常处理

### 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‘

```

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 23:10:57

Rails 异常处理的相关文章

Rails 异常处理 &amp;amp;&amp;amp; 性能

Rails 异常处理 的多种处理方法 1.  routes match '*path', via: :all, to: 'controller#action' 2.  application.rb 的 exception_app # application.rb config.exceptions_app = ->(env) { ExceptionController.action(:show).call(env) } config.action_dispatch.rescue_response

ruby编程中异常处理的实践解析

在Ruby开发(http://www.maiziedu.com/course/ruby-px/)中提供了一个很好的机制来处理异常.很多学习ruby的朋友会经常忽视异常处理,特别是ruby/rails 圈,几乎大家都没怎么写过异常处理的代码.其实异常处理还是挺重要的,想写出出色的代码,必须得了解清楚异常的机制以及异常处理的最佳实践. 关于异常处理,问题无非是下面几个,并且各个高级语言的异常处理大同小异,使用上没有太大区别: 异常是为了解决什么问题而出现的? 异常都有哪些类型?分别应该怎么应对? 什

Laravel 5.4 中的异常处理器和HTTP异常处理实例教程

错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便直观的知道程序在哪里出了问题并予以解决,而在线上环境我们不希望将程序错误或异常显示在浏览器中(出于安全考虑),这个时候我们仍然要捕获异常,只不过不是显示到浏览器中,而是记录到日志中,方便日后排查问题. 百牛信息技术bainiu.ltd整理发布于博客园 Laravel当然支持PHP原生的错误和异常处理,但是在此基础上进行了一些封装处理,从而更方便在不同开发环境切换以及对错误和异常的处理.

跟着百度学PHP[11]-PHP当中的异常处理

首先要说一下常见的三种错误: 1.语法错误 2.运行错误 3.逻辑错误 00x1 错误报告及错误级别 PHP的错误分为三个等级 1.注意(notice)   没有变量a 2.警告(warning) 没有给函数传值 3.致命的错误(fatal error) 函数写错 错误的报告级别可以在PHP.ini当中修改.在PHP.ini当中找到错误报告“error_reporting = E_ALL ” 这个的意思是将所有的错误都提示出来.ps:~是除了的意思.&是和的意思.error_reporting

JAVASE02-Unit08: 文本数据IO操作 、 异常处理

Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; /** * java.io.Ob

python3_装饰器_异常处理

装饰器: def auth(func):     def wrapper(name):                     如果函数带参数,要加在这里         user=raw_input("input passwd:").strip()         if user=='test':             print "welcome login"             func(name)              如果函数带参数,要加在这里

动手动脑(异常处理)

1.请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutException { public static void main(String[] args) { float i=1, j=0, k; k=i/j; System.out.println(k); try { k = i/j;    // Causes division-by-zero exceptio

异常处理

我们在使用Java语言高级API进行程序设计之前,我们还需要理解Java语言中另一个基础特色-----异常处理 异常(Exception)是程序在执行过程中所产生的问题.导致异常产生的原因有很多种: 用户输入了无效的数据.找不到一个需要打开的文件.在通讯过程中网络连接断开或者JVM发生了内存溢出 异常的分类: 检查异常-----是用户错误或不能被程序所遇见的问题 运行时异常-----是一个程序在运行过程可能发生的问题 错误-------实际上,错误根本不是异常,但却是用户或程序所无法控制的问题

Java异常处理

异常的层次结构 所有的异常类都是 java.lang.Exception 类的子类型.异常类都是 Throwable 类的子类.除了异常类 Error 类也是由 Throwable 类产生的的子类1. public String getMessage() 返回关于发生异常的细节信息,这些信息在Throwable的构造函数中被初始化2. public Throwable getCause() 返回发生异常的原因,由 Throwable 对象来表示3. public String toString(