gpt4 book ai didi

ruby-on-rails - 处理不同类别的 404 错误

转载 作者:行者123 更新时间:2023-12-04 16:18:48 25 4
gpt4 key购买 nike

我有很多类继承了 Page 类。他们共享相同的 update_ended尝试在页面结束时更新状态的方法。

由于这些 Page 类面临不同的问题,因此混合使用了不同的 net/http 代理,包括 OpenURI、Net::HTTP 和 Mechanize。

  def update_ended
fetch_page(...)
rescue OpenURI::HTTPError, Net::HTTPNotFound, Mechanize::ResponseCodeError
self.ended = true
...
self.save!
end

我要抓 404 页面未找到异常 并结束一个 Page 对象。目前我的实现不够细粒度来做到这一点。不同的异常有不同的方式来说明它是什么类型的 HTTP 状态。

在我上面的例子中,从 HTTP 错误的各种实现中确定代码(例如 404)的最佳方法是什么?我是使用多个救援还是在救援中有很多 if 语句?

最佳答案

可能最简单的方法是捕获所有内容并查看消息:

def update_ended
fetch_page(...)
rescue Exception => e
case e.message
when /404/ then puts '404!'
when /500/ then puts '500!'
else puts 'IDK!'
end
end

关于ruby-on-rails - 处理不同类别的 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com