嵌套开始/救援/确保有效吗?

时间:2015-10-06 18:03:37

标签: ruby-on-rails rescue

这对我来说似乎没问题,我找不到任何其他说明的文档,但我还是要对它进行验证。我有一段代码可能会失败,无论出于何种原因,如果它确实失败就会确保它保护它,然后无论发生什么都需要执行一些代码。这似乎需要一个嵌套的begin / ensure块。这有效吗? (这里没有实际的救援,只是那种类型的阻止。)

代码如下:

  begin
    # save default state
    begin
      # save current state
      # set state for this snippet
      # snippet
    ensure
      # return current state or default if none
    end
  ensure
    # schedule next execution of this code, always.
  end

1 个答案:

答案 0 :(得分:7)

这是一种非常有效的方法。通常需要嵌套,有时使用与此处相同的方法,有时也需要通过调用堆栈。