[英]How should I handle long exception handling code
我正在嘗試調用外部API。 我處理了四個或更多通話異常。
如果我打多個電話,代碼會很快增加。 我是否應該為每個處理異常並返回數據的此類調用編寫包裝器?
這是此類代碼的示例(這不是我的)。 調用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進行了多次調用,然后進行了異常處理,似乎異常處理代碼干擾了實際工作的代碼讀取。
圍繞一段代碼編寫您的異常處理程序,這樣,如果該塊的第一行失敗,您將很樂意跳過所有代碼,直到該塊的最后一行。
如果異常使處理程序出現的整個方法的其余部分無效,請考慮讓異常冒泡到下一層。 不一定所有方法都必須使用您的方法。
我經常發現自己圍繞一行代碼編寫異常處理程序(具有合適的恢復代碼),但這不是規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.