[英]How to handle httparty errors rails
我正在將一些api與httparty
gem一起使用,我已經閱讀了以下問題: 如何處理HTTParty的錯誤?
還有兩個最受好評的答案,即如何使用響應代碼(不能解決連接失敗)來處理錯誤。
response = HTTParty.get('http://twitter.com/statuses/public_timeline.json')
case response.code
when 200
puts "All good!"
when 404
puts "O noes not found!"
when 500...600
puts "ZOMG ERROR #{response.code}"
end
第二-捕獲錯誤。
begin
HTTParty.get('http://google.com')
rescue HTTParty::Error
# don´t do anything / whatever
rescue StandardError
# rescue instances of StandardError,
# i.e. Timeout::Error, SocketError etc
end
那么處理錯誤的最佳實踐是什么? 我需要處理連接失敗嗎? 現在,我正在考慮將這兩種方法結合起來:
begin
response = HTTParty.get(url)
case response.code
when 200
# do something
when 404
# show error
end
rescue HTTParty::Error => error
puts error.inspect
rescue => error
puts error.inspect
end
end
這是處理連接錯誤和響應代碼的好方法嗎? 還是我要謹慎?
您肯定要處理連接錯誤,因為它們是代碼正常流程之外的異常,因此命名為異常。 當連接超時,無法連接等情況發生時,會發生這些異常,處理這些異常可確保您的代碼對這些類型的故障具有彈性。
至於響應代碼,我強烈建議您處理極端情況或錯誤響應代碼,以使您的代碼能夠在某些情況下(例如找不到頁面或錯誤的請求不會觸發異常)知道這些代碼。
無論如何,這實際上取決於您正在編寫的代碼,這是一個有意見的問題,但就我個人的個人喜好而言,處理異常和錯誤代碼並不是過分謹慎,而是可以防止將來發生故障。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.