ruby-on-rails - 嵌套开始/救援/确保有效吗?

标签 ruby-on-rails rescue

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

代码如下:

  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

最佳答案

这是一个完全有效的方法。通常需要嵌套,有时使用与您在此处所做的相同的方法,有时通过调用堆栈。

关于ruby-on-rails - 嵌套开始/救援/确保有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32976602/

相关文章:

当我在 'ensure' 中的 'retry' 时,Ruby 不为 'rescue'

ruby-on-rails - 如何写下 rspec 来测试救援 block 。?

多种方法期间的 Ruby 救援异常

ruby-on-rails - 使用 has_many 关联保存模型

ruby-on-rails - 如何使用表单填充 Rails 4 模型中的序列化数组?

ruby-on-rails - Capybara JavaScript 测试的 XHR 请求 stub

ruby-on-rails - Ruby Timeout::timeout 不会触发异常并且不会返回记录的内容

ruby-on-rails - ruby rails 3 : How can I disconnect an object from another object in the database without deleting it?

ruby-on-rails - 通过 CORS 策略允许任何内容

ruby - SSLv3 读取服务器证书 B:证书验证失败(Twitter::Error)