【发布时间】:2013-04-18 05:18:09
【问题描述】:
我在 Rails 异常处理方面几乎没有经验。我有这个sn-p
def update
@game = Game.find(params[:id])
begin
params[:game][:tier] = eval(params[:game][:tier])
rescue
@game.errors.add(:tier, "Please make sure the correct format for tier, example [100, 1000, 10000]")
end
#.... more code
end
如果 params[:game][:tier] = "[100,200]" 一切都很完美。 如果出现像 params[:game][:tier] = "[100,200] abc" 这样的 ruby 语法错误情况,它会捕获错误,但是应用程序会崩溃。
如何使用 'eval()' 处理异常,以免破坏应用程序?为什么在这种情况下开始和救援不起作用?感谢任何对红宝石启蒙的帮助:)
【问题讨论】:
标签: ruby-on-rails ruby exception-handling