我正在尝试使用retry
语句存储块,但收到语法错误:Invalid retry
。我该如何妥善存放?
retries = 3
proc = Proc.new do
if retries > 0
p " Retries left: #{retries}"
retries -= 1
retry
end
end
begin
...
rescue SomeErrorOne
proc.call
rescue SomeErrorTwo
proc.call
end
答案 0 :(得分:3)
尝试将retry
更改为redo
。我认为在Ruby 1.9中进行了一些更改,因为retry
关键字被滥用了。
可以在此处找到差异:http://rubyquicktips.com/post/1122838559/redo-vs-retry请参阅底部的评论。