拦截Ruby中的每个异常

时间:2012-02-14 13:55:41

标签: ruby ruby-on-rails-3 exception-handling

我使用了exception_notifier gem和Airbrake,但我想拦截并将错误,环境和回溯发送到Web服务。我想我应该修补Object :: Exception,但我不确定如何。我不想改变Object :: Exception的行为,只是拦截并发送它的数据。我想为任何Ruby应用程序做这件事,所以我想要一个不可知的解决方案。如果不可能与框架无关的解决方案,Rails解决方案总比没有好,但我想我可以研究exception_notification gem。

1 个答案:

答案 0 :(得分:3)

对于Rails,您可以将以下内容放在application_controller.rb

rescue_from Exception do |e|
  # do whatever you want with the exception
  # and if you still want the exception to continue propagating, then:
  raise e
end