По сути, я хочу сделать что-то вроде этого (в Python или аналогичных императивных языках):
for i in xrange(1, 5):
try:
do_something_that_might_raise_exceptions(i)
except:
continue # continue the loop at i = i + 1
Как мне это сделать в Ruby? Я знаю, что есть ключевые слова redo
и retry
, но они, кажется, повторно выполняют блок try вместо продолжения цикла:
for i in 1..5
begin
do_something_that_might_raise_exceptions(i)
rescue
retry # do_something_* again, with same i
end
end