Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby异常以及当它们停止时_Ruby_Ruby On Rails 3_Exception - Fatal编程技术网

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}"

我很难理解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}"
end

它停止并直接跳到
救援
。如果无论发生什么情况,都必须运行
确保
可能是您想要的


它停下来,直接跳到
救援
。如果无论发生什么情况,都必须运行
确保
可能是您想要的


谢谢!那么,如果我有多件事要做,异常后会确保同时做这两件事吗?i、 e.如果第一件确保尝试执行的操作引发另一个异常,它会中断还是也会执行下一个异常?它会中断。但是没有什么可以阻止您使用嵌套的begin/rescue/Sure部分来包围第二件事。但是如果你经常这样做,这可能意味着一个整体设计问题。谢谢!那么,如果我有多件事要做,异常后会确保同时做这两件事吗?i、 e.如果第一件确保尝试执行的操作引发另一个异常,它会中断还是也会执行下一个异常?它会中断。但是没有什么可以阻止您使用嵌套的begin/rescue/Sure部分来包围第二件事。但是,如果您经常这样做,这可能表明存在总体设计问题。