我读到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
答案 0 :(得分:-1)
美好的一天。 您必须阅读关于异常的ruby doc 简而言之: 异常 - 所有异常的基类,因此基本代码:
begin
# some code
rescue Exception => e
end
您应该始终指定要处理的异常 如果你需要proc all - 使用class Exception
P.S。 为了你自我教育 - http://rubylearning.com/satishtalim/ruby_exceptions.html