救援嵌套方法调用

时间:2015-04-09 21:44:53

标签: ruby-on-rails ruby

我读到Ruby没有嵌套的救援。这就是为什么这不起作用?

begin
    dosomething
rescue => e
    #this is never executed, dosomething raises the error directly
end

def dosomething
    SomeModel.find(-1) #this raises the exception instead of above
end

1 个答案:

答案 0 :(得分:-1)

美好的一天。 您必须阅读关于异常的ruby doc 简而言之: 异常 - 所有异常的基类,因此基本代码:

begin
  # some code
rescue Exception => e
end

您应该始终指定要处理的异常 如果你需要proc all - 使用class Exception

enter image description here

P.S。 为了你自我教育 - http://rubylearning.com/satishtalim/ruby_exceptions.html