0

我编写了一个 rake 任务,它将 json 解析为来自 API 的哈希。

相关代码是

uri = URI.parse(url)

JSON.parse(uri.open.read)

当我运行这个 rake 任务时,有时我会收到“到达文件结尾”错误,我假设这是某种形式的超时或连接因任何原因而关闭。有时,json 被解析没有缺陷,其他时候我得到这个错误。

我想知道是否有不同/更安全的方法,或者是否有办法继续尝试解析,直到 parse_url 成功完成。

谢谢!

我正在使用 ruby​​ 1.9.2-p320 和 Rails 3.2.6

4

1 回答 1

2

通过在 JSON.parse 周围抛出 begin/rescue 并使用 retry 来解决它

begin
  return JSON.parse(uri.open.read)
rescue Exception => e
  puts e.message
  puts "retrying.."
  retry
end
于 2012-07-31T18:52:41.597 回答