until row == nil do
#code1
begin
#code2 <~~ which can raise an error
rescue
end
#here I want some guard which can check,if any error occurred or
not.If #error then skip below part and continue from the next row.
#code3
row+=1
end
begin
#standard code
rescue
#only runs if an error occurred
else
#only runs if an error did not occur
ensure
#always runs at the end regardless of error level
end
begin
#standard code
#only runs if no error earlier in this block
rescue
#only runs if an error occurred
end
#always runs as long as all exceptions are caught and none are re-thrown
I am looking for the below operations,but only when error will be
occured :
a = (1..10)
i=0
until a.size>10
next i+=1 if i<5 # this should be done on Error
p a[i]
i+=1
end
If still I am not clear,please let me know the confusions.
until val == nil
#line1#line2 #<~~ error can be generated here.If error happened I want to
start
from #line1 again.skipping the below code.
#line3
...
end
Maybe a real example would help, rather than infinite-loop pseudo-code.
val = -3
until val > 2
begin
val +=1
1/val
rescue
puts 'Error on ' + val.to_s
else
puts 'No Error on ' + val.to_s
end
puts 'Finished with ' + val.to_s
end