Fondamentalement, je veux faire quelque chose comme ça (en Python, ou dans des langages impératifs similaires):
for i in xrange(1, 5):
try:
do_something_that_might_raise_exceptions(i)
except:
continue # continue the loop at i = i + 1
Comment faire cela en Ruby? Je sais qu'il existe les mots clés redo
et retry
, mais ils semblent réexécuter le bloc "try", au lieu de continuer la boucle:
for i in 1..5
begin
do_something_that_might_raise_exceptions(i)
rescue
retry # do_something_* again, with same i
end
end
Dans Ruby, continue
est orthographié next
.
for i in 1..5
begin
do_something_that_might_raise_exceptions(i)
rescue
next # do_something_* again, with the next i
end
end
pour imprimer l'exception:
rescue
puts $!, $@
next # do_something_* again, with the next i
end