begin
#some routine
rescue
retry
#on third retry, output "no dice!"
end
Run Code Online (Sandbox Code Playgroud)
我想这样做,以便在"第三次"重试时打印一条消息.
jtb*_*des 18
可能不是最好的解决方案,但一个简单的方法就是制作一个tries变量.
tries = 0
begin
# some routine
rescue
tries += 1
retry if tries <= 3
puts "no dice!"
end
Run Code Online (Sandbox Code Playgroud)
gle*_*ebm 10
loop do |i|
begin
do_stuff
break
rescue
raise if i == 2
end
end
Run Code Online (Sandbox Code Playgroud)
要么
k = 0
begin
do_stuff
rescue
k += 1
k < 3 ? retry : raise
end
Run Code Online (Sandbox Code Playgroud)
begin
#your code
rescue
retry if (_r = (_r || 0) + 1) and _r < 4 # Needs parenthesis for the assignment
raise
end
Run Code Online (Sandbox Code Playgroud)