【发布时间】:2011-09-14 11:11:08
【问题描述】:
我有一个这样的 ruby 代码:
begin
doc = Nokogiri::HTML(open(url).read.strip)
rescue Exception => ex
log.error "Error: #{ex}"
end
我得到的日志是:
ERROR -- : Error: execution expired
我想重新执行块直到它成功。
我该怎么做?
【问题讨论】:
-
首先尝试单独打开 url,将其传递给 nokogiri,因为这样可能更容易修复错误
-
你的意思是这个?:
doc = open(url).read.strip doc = Nokogiri::HTML(doc) -
不,我的意思是
data = open(url).read.strip然后在下一行doc = Nokogiri::HTML(data) -
如果你真的想从
rescue回到begin,请使用retry(但要注意无限循环)。 -
好的。我也想问你。但我忘了格式化
code:)