繁体   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