ruby1.9以上,retry只能支持在rescue里面使用,不支持在block里面用;你要去用ruby1.8
rescue使用代码例子
# -*- coding: UTF-8 -*- n = 0 begin puts 'Trying to do something' raise 'oops:' + n.to_s rescue => ex puts ex.message + "!!!!!!" n += 1 retry if n < 3 end puts "Ok, I give up"
Trying to do something
oops:0!!!!!!
Trying to do something
oops:1!!!!!!
Trying to do something
oops:2!!!!!!
Ok, I give up