在 Rails 中,我可以抛出异常但继续前进吗?
In Rails, can I throw an exception but keep going?
我在 Rails 中有一些东西可以处理大量事件。所有事件都是相互独立的。如果其中一个事件格式错误或其他原因,现在它会爆炸,并停止处理它之后的事件。
我想 try/catch,然后使用堆栈跟踪等将错误传播到我们所有的各种错误跟踪服务(New Relic、日志等)。有什么好的方法吗?
我基本上希望它表现得好像错误没有被捕获,用于跟踪,但继续进行,用于事件处理。
您可以修复错误,将其传递给 NewRelic,然后继续您的快乐之路...
def my_method
# do things...
rescue => exception
NewRelic::Agent.notice_error(exception)
end
是的,这是很有可能的。例如,让我们处理一堆事件。我们将拯救 StandardError
的所有后代错误,将它们记录到 honeybadger.io,并继续处理剩余的事件:
events.each do |event|
begin
process(event)
rescue StandardError => error
Honeybadger.notify(error)
end
end
我在 Rails 中有一些东西可以处理大量事件。所有事件都是相互独立的。如果其中一个事件格式错误或其他原因,现在它会爆炸,并停止处理它之后的事件。
我想 try/catch,然后使用堆栈跟踪等将错误传播到我们所有的各种错误跟踪服务(New Relic、日志等)。有什么好的方法吗?
我基本上希望它表现得好像错误没有被捕获,用于跟踪,但继续进行,用于事件处理。
您可以修复错误,将其传递给 NewRelic,然后继续您的快乐之路...
def my_method
# do things...
rescue => exception
NewRelic::Agent.notice_error(exception)
end
是的,这是很有可能的。例如,让我们处理一堆事件。我们将拯救 StandardError
的所有后代错误,将它们记录到 honeybadger.io,并继续处理剩余的事件:
events.each do |event|
begin
process(event)
rescue StandardError => error
Honeybadger.notify(error)
end
end