ruby-on-rails - 在Rails中,我可以抛出异常但继续吗?

标签 ruby-on-rails ruby-on-rails-4 error-handling

我在Rails中有一些东西可以处理大量事件。所有事件彼此独立。如果其中一个事件的格式不正确或其他原因,则现在它会爆炸,并在事件发生后停止处理。

我想尝试/捕获,然后使用堆栈跟踪将错误传播到我们所有的各种错误跟踪服务(New Relic,日志等)。有什么好方法吗?

我本质上希望它表现为好像未捕获到错误,用于跟踪,但继续进行,用于事件处理。

最佳答案

是的,这很有可能。例如,让我们处理一堆事件。我们将挽救StandardError后代的所有错误,将它们记录到honeybadger.io,然后继续处理其余事件:

events.each do |event|
  begin
    process(event)
  rescue StandardError => error
    Honeybadger.notify(error)
  end
end

关于ruby-on-rails - 在Rails中,我可以抛出异常但继续吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29529124/

相关文章:

Python:错误不会停止脚本

python - 如何使用Python-CAN查看CAN网络的错误帧

ruby-on-rails - 安装 rails `$ gem install rails` 时出错

ruby-on-rails - Capistrano::Configuration:Class 的未定义方法 `instance'

css - Rails twitter bootstrap 将背景更改为图像

ruby-on-rails - 如何创建一个让用户自动登录到设备/rails 的链接?

javascript - 铁路之路 : Send client data to controller using turbolinks

php - 如何获取包含 php 文件的页面

ruby-on-rails - CarrierWave 抛出 NoMethodError - `new' :String: 的未定义方法 "file"

ruby-on-rails-4 - 有没有办法阻止 Rails 在生产中预编译 Assets ?