我想调用外部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)” –