这对我来说似乎没问题,我找不到任何其他说明的文档,但我还是要对它进行验证。我有一段代码可能会失败,无论出于何种原因,如果它确实失败就会确保它保护它,然后无论发生什么都需要执行一些代码。这似乎需要一个嵌套的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
答案 0 :(得分:7)
这是一种非常有效的方法。通常需要嵌套,有时使用与此处相同的方法,有时也需要通过调用堆栈。