[英]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.