2013-02-04 5 views
1

Je fais une requête externe et utilise HTTPARTY pour le fichier JSON, puis je l'analyse.
MAIS si la demande échoue (le fichier n'existe plus ou est un mauvais uri) comment puis-je gérer les erreurs afin que je puisse toujours afficher la page?
Je ne suis pas sûr de la meilleure façon de protéger l'application de ce point de défaillance et je n'ai pas fait grand-chose dans la gestion des erreurs.Gestion des erreurs Ruby avec demande externe

def api_fetch(url) 
    JSON.parse HTTParty.get(url).response.body 
end 

api_fetch('http://example.com/data.json')['test'] 

S'il vous plaît aider

Répondre

1

Le ci-dessous devrait fonctionner. Il vérifiera si la méthode retourne zéro quand vous l'appelez.

def api_fetch(url) 
    begin 
     JSON.parse HTTParty.get(url).response.body 
    rescue 
     nil 
    end 
    end 
+0

ajoutera quelque chose pour vérifier si la méthode retourne zéro lorsqu'elle est appelée. merci –

+0

Je vous suggère également de vous connecter l'exception qui est soulevée. Cela évitera beaucoup de frustration plus tard. – mcfinnigan