Ruby: Continue a loop after catching an exception

Basically, I want to do something like this (in Python, or similar imperative languages):

for i in xrange(1, 5): try: do_something_that_might_raise_exceptions(i) except: continue # continue the loop at i = i + 1 

How do I do this in Ruby? I know there are the redo and retry keywords, but they seem to re-execute the "try" block, instead of continuing the loop:

for i in 1..5 begin do_something_that_might_raise_exceptions(i) rescue retry # do_something_* again, with same i end end 

3 Answers

In Ruby, continue is spelt next.

2
for i in 1..5 begin do_something_that_might_raise_exceptions(i) rescue next # do_something_* again, with the next i end end 
3

to print the exception:

rescue puts $!, $@ next # do_something_* again, with the next i end 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like