Ruby异常以及当它们停止时
我很难理解ruby异常以及异常发生后会发生什么 当异常发生时,我拯救了它,异常后的命令是否仍然被执行,还是跳过它们并跳转到拯救?如果我想让它在异常之后做这些事情,我能做什么?谢谢 在以下示例中:Ruby异常以及当它们停止时,ruby,ruby-on-rails-3,exception,Ruby,Ruby On Rails 3,Exception,我很难理解ruby异常以及异常发生后会发生什么 当异常发生时,我拯救了它,异常后的命令是否仍然被执行,还是跳过它们并跳转到拯救?如果我想让它在异常之后做这些事情,我能做什么?谢谢 在以下示例中: begin var = "string" var.do_someting to raise exception var.do_something_else var.do_something_else_again rescue => e puts "error was #{e}"
begin
var = "string"
var.do_someting to raise exception
var.do_something_else
var.do_something_else_again
rescue => e
puts "error was #{e}"
end
它停止并直接跳到
救援
。如果无论发生什么情况,都必须运行,确保可能是您想要的
它停下来,直接跳到救援
。如果无论发生什么情况,都必须运行,确保可能是您想要的
谢谢!那么,如果我有多件事要做,异常后会确保同时做这两件事吗?i、 e.如果第一件确保尝试执行的操作引发另一个异常,它会中断还是也会执行下一个异常?它会中断。但是没有什么可以阻止您使用嵌套的begin/rescue/Sure部分来包围第二件事。但是如果你经常这样做,这可能意味着一个整体设计问题。谢谢!那么,如果我有多件事要做,异常后会确保同时做这两件事吗?i、 e.如果第一件确保尝试执行的操作引发另一个异常,它会中断还是也会执行下一个异常?它会中断。但是没有什么可以阻止您使用嵌套的begin/rescue/Sure部分来包围第二件事。但是,如果您经常这样做,这可能表明存在总体设计问题。