Ich habe den folgenden Code, um mir Redirect-Fehler bei der Verarbeitung von URLs zu fangen.Wie werden verschiedene Fehlertypen gleichzeitig abgefangen?
begin
page = Nokogiri::HTML(uri.open(redirect: false))
rescue OpenURI::HTTPRedirect => redirect
uri = redirect.uri
puts "retry #{tries}: #{uri}"
retry if (tries-=1) > 0
raise
Es funktioniert gut für URL-Redirect-Fehler, aber es fängt keine anderen Arten von Fehlern. Beispielsweise hat eine URL einen 416-Fehler ausgelöst, der von dem obigen Code nicht behandelt werden konnte.
kann ich
rescue StandardError => e
den 416 Fehler zu fangen und lassen Sie die URL ich Verarbeitung war, aber wie fange ich beide Fehler gleichzeitig, so dass, wenn eine Umleitung Fehler ist, der Code kennt wo umleiten, und wenn es andere Arten von Fehlern gibt, weiß der Code, wann er überspringt?