【发布时间】:2016-09-29 20:48:11
【问题描述】:
我会尽量保持简短。
在 ruby 中,如果抛出异常,返回另一个值的最佳方法是什么?我有空气制动通知我异常情况,但我不想阻止该过程继续进行。到目前为止,我有这样的事情:
house = House.find(1)
visitor_count = begin
house.visitors.count
rescue => e
Airbrake.notify(e)
0
end
想知道除了开始块之外是否还有其他方法可以执行此操作。谢谢!
【问题讨论】:
-
begin/rescue 是基本的错误处理机制。看来您的代码正在运行。
-
它正在工作,但我想知道是否还有其他方法可以做同样的事情。
-
请注意,这会挽救从
StandardError扩展的所有异常。我希望你这样做只是为了一个简单的例子。您应该永远盲目地挽救此类一般例外情况,而只挽救那些您真正期望发生的例外情况。
标签: ruby-on-rails ruby error-handling custom-errors airbrake