我在Rails中有一些处理大量事件的东西。所有活动都是相互独立的。如果其中一个事件出现格式错误或其他事件,那么它现在会爆炸,并停止处理之后的事件。
我想尝试/ catch,然后将错误传播到我们所有的各种错误跟踪服务(New Relic,日志等)和堆栈跟踪等等。有没有办法做到这一点?
我基本上希望它的行为好像没有捕获错误,用于跟踪,而是继续进行事件处理。
答案 0 :(得分:0)
您可以挽救错误,将其传递给NewRelic,继续您的欢乐...
def my_method
# do things...
rescue => exception
NewRelic::Agent.notice_error(exception)
end
答案 1 :(得分:0)
是的,这很有可能。例如,让我们处理一堆事件。我们将抢救所有StandardError
后代的错误,将其记录到honeybadger.io,然后继续处理其余事件:
events.each do |event|
begin
process(event)
rescue StandardError => error
Honeybadger.notify(error)
end
end