簡體   English   中英

如何處理httparty錯誤導軌

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM