La plupart de mes applications ont beaucoup à voir avec des services Web et souvent en raison du site tiers, je reçois des problèmes de délai d'attente.
C'est l'erreur que je reçois: p> Comment puis-je sauver ce type d'erreur dans une application Rails? p> p>
3 Réponses :
C'est ce que je fais dans mes rails apps: Vous pouvez spécifier l'exception comme si vous le feriez dans une clause de sauvetage bien sûr. P> Salutations,
Joe p> p>
Ne jamais sauvegarder exception code>. Est une mauvaise habitude de programmation. Vous devez sauver des exceptions spécifiques ou du moins, standardError code>.
«Exception» était censé clarifier où attraper le particulier, mais vous avez raison, cela aurait dû être plus clair! :)
J'ai un peu savait comment faire cela avec ActiveRecord introuvable. Je ne savais tout simplement pas quoi ou comment sauver cette erreur particulière.
Si vous ne voulez pas que ActiveRecord vous explose, essayez objet.find_by_key (parames [: ID]) Cela permettra d'utiliser un objet NULL que vous pouvez utiliser sans tout le code de traitement de l'exception laid.
Selon la façon dont vous utilisez la bibliothèque, il existe différentes façons de sauver l'exception.
dans la bibliothèque forte> p> supposant que vous avez créé une emballage pour accéder à une sorte de Service Web, vous pouvez avoir le wrapper sauver l'exception et retourner toujours une "sécurité". p> dans l'action forte> p> Si vous appelez une méthode spécifique Dans l'action et la méthode, le succès est une exigence pour l'action, vous pouvez ensuite le sauver dans l'action.
Dans l'exemple suivant, je sauve l'erreur et montrez un modèle spécifique pour gérer le problème. P> Si l'appel de la méthode peut se produire dans de nombreuses actions différentes, vous voudrez peut-être utiliser sauve_from code>. P>
Utilisez le génial rack :: Timeout GEM pour vos applications de rack P>
Utilisez ensuite la bonté du contrôleur de Simone P>