加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何捕获ruby中的所有异常?

发布时间:2020-12-17 03:57:14 所属栏目:百科 来源:网络整理
导读:我们如何捕获或/和处理 ruby中所有未处理的异常? 例如,这样做的动机可能是将不同的文件记录到不同的文件或发送和发送电子邮件到系统管理. 在Java中我们会这样做 Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler ex); 在NodeJS中 proce
我们如何捕获或/和处理 ruby中所有未处理的异常?

例如,这样做的动机可能是将不同的文件记录到不同的文件或发送和发送电子邮件到系统管理.

在Java中我们会这样做

Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler ex);

在NodeJS中

process.on('uncaughtException',function(error) {
   /*code*/
});

在PHP中

register_shutdown_function('errorHandler');

function errorHandler() { 
    $error = error_get_last();
    /*code*/    
}

我们怎么能用ruby做到这一点?

解决方法

高级解决方案使用 exception_handler gem

如果您只想捕获所有异常并将其放在日志中,可以将以下代码添加到ApplicationController:

begin
  # do something dodgy
rescue ActiveRecord::RecordNotFound
  # handle not found error
rescue ActiveRecord::ActiveRecordError
  # handle other ActiveRecord errors
rescue # StandardError
  # handle most other errors
rescue Exception
  # handle everything else
end

您可以在此thread中找到更多详细信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读