У меня есть много классов, наследующих класс 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 страница не найдена исключение и завершить объект страницы. В настоящее время моя реализация недостаточно детализирована, чтобы сделать это. Разные исключения по-разному определяют тип HTTP-статуса.
В моем случае выше, как лучше всего определить код (например, 404) из различных реализаций ошибок HTTP? Я использую множественное спасение или у меня много операторов if в спасении?