[英]Trying to rescue HTTParty connection error in Rails 5
我正在使用Rails 5和HTTParty。
問題是,如果API由於某種原因而關閉,我的應用程序將崩潰。 我想處理這種情況,並找到了幾種解決方案,但沒有使它們起作用。
我所做的是:
begin
api = HTTParty.get(URL)
rescue HTTParty::Error
puts('API not available')
end
我希望的是,如果API關閉或使用無效的URL,則不會給我內部服務器錯誤,而是告訴我API不可用,然后繼續執行代碼。
但是相反,它給出了內部服務器錯誤:
SocketError (Failed to open TCP connection to URL (getaddrinfo: nodename nor servname provided, or not known)):
我如何確保不會發生這種情況?
看起來您只是在挽救與您真正遇到的錯誤不同的錯誤。
begin
api = HTTParty.get(URL)
rescue HTTParty::Error, SocketError => e
puts('API not available')
end
請記住,在此救援之后執行的所有代碼都應考慮到您的響應可以為空
我也遇到了同樣的問題,但是從HTTParty :: Error營救無濟於事。 我的實際錯誤始終是Errno::ECONNREFUSED
,因此以下是為我解決的問題:
begin
api = HTTParty.get(URL)
rescue Errno::ECONNREFUSED
puts('API not available')
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.