使用 Ruby,你可以在开始循环中使用多个救援吗?

Using Ruby, can you use more than one rescue in a begin loop?

是否可以在开始循环中添加多个救援 and/or 一个函数并且每个函数还有下一个?

例如:

begin twitter_function

rescue Twitter::Error::RateLimit => error
  next
rescue Twitter::Error::Unauthorized => error
  next
end

是的,我们可以在 begin - rescue 循环中执行下一步。我们可以通过以下方式做到这一点 -

for i in 1..10
  begin
    do_something_that_might_raise_exceptions(i)
  raise ExpectedError1 => error1
    next # do_something_* again, with the next i
  raise ExpectedError2 => error2
    next # do_something_* again, with the next i
  end
end