在我的Rails应用程序中,我正在进行各种API调用:
class SearchFacebook
FALLBACK_STARS = 5.0
def self.call
begin
url = "https://graph.facebook.com/v2.12/#{FACEBOOK_PAGE_ID}"
response = RestClient.get(url, :params => {:access_token => FACEBOOK_ACCESS_TOKEN, :fields => "overall_star_rating"})
json = JSON.parse(response)
stars = json["overall_star_rating"]
rescue RestClient::ExceptionWithResponse => error
stars = FALLBACK_STARS
end
{:stars => stars}
end
end
问题是我在很多时候在我的本地环境中运行我的应用程序。如果没有可用的互联网连接(这对我来说很重要,不要问为什么),我收到以下错误:
SocketError 即可。 无法打开到api.facebook.com:443的TCP连接(getaddrinfo: 提供了nodename或servname,或者未知)
如何从离线中解救?
我已经检查了RestClient documentation,但无济于事。谢谢你的帮助。
答案 0 :(得分:0)
好的,我通过简单地从SocketError
:
rescue SocketError, RestClient::ExceptionWithResponse => error
我发现this answer非常有用。