我想調用外部API。我處理四個或更多例外的電話。我應該如何處理長時間的異常處理代碼
如果我撥打多個電話,代碼會非常快速地增加。我應該爲每個處理異常並返回數據的這種調用編寫一個包裝?
下面是code這個例子(這不是我的)。對user_search
的調用之後是異常處理。
注:我沒有使用Rails的
begin
@twitter = Twitter.user_search(name)
rescue Twitter::Unauthorized
puts "Not authorized. Please check the Twitter credentials at the top of the script."
break
rescue Twitter::BadRequest => e
puts "Hit rate limit. Continuing scraping at #{e.ratelimit_reset}"
sleep e.retry_after
retry
rescue Exception => e
puts "Something else went wrong:"
puts e.message
end
我已經改變了問題的標題。我認爲這個問題更多的是如何處理長時間的異常處理代碼。在示例代碼中,假設我有多個對twitter API的調用,然後是異常處理,看起來異常處理代碼會破壞讀取執行實際工作的代碼。
解釋「代碼增加非常快」。手段。它變得更快?更多的是寫入? –
我的意思是代碼行數增加。它變得難以閱讀,因爲'實際'代碼比異常處理少得多。 – nilanjan
你爲什麼不展示你正在談論的一些樣本?錯誤的異常處理可能會失控。做得對,它可以非常優雅,但是,如果沒有向我們展示你的代碼,我們只能想象你寫的是什麼,這是浪費我們的時間。 「詢問代碼的問題必須顯示對所解決問題的最低限度的理解,包括嘗試的解決方案,爲什麼他們不工作,以及預期的結果,另見:[Stack Overflow question checklist](http://meta.stackexchange。 「關於你編寫的代碼問題的問題必須在問題本身中描述特定的問題 - 幷包含有效的代碼以再現它 - 參見http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=156810/stack-overflow-question-checklist)」 –