0
我有以下代碼可以幫助我在處理URL時捕獲重定向錯誤。如何同時捕獲不同的錯誤類型?
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
它適用於URL重定向錯誤,但它沒有捕獲任何其他類型的錯誤。例如,一個URL引發了一個416錯誤,這是上述代碼無法處理的。
我可以使用
rescue StandardError => e
趕上416錯誤,跳過我處理的URL,但我如何在同一時間趕上這兩個錯誤,這樣,當有一個重定向錯誤,代碼知道何處重定向,何時出現其他類型的錯誤,代碼知道何時跳過?