如何处理 API 一般但更具体地来自 Twitter 的加薪

How to deal with API raises in general but more specifically from Twitter

所以我对这件事还很陌生,API 可以引发哪些错误,以及如何调整代码以适应这些错误。

因此,例如我使用的是 Twitter gem,如果我想收藏一条推文,然后删除该推文,我的页面将变为 500,我得到:

ActionView::Template::Error (No status found with that ID.)

我想知道的是如何编写可以处理这些错误的代码。所以说我给出了一个包含 2 个 ID 的数组,其中第一个无效,另一个无效。理想情况下,我希望它跳过第一个。不过以现在的情况,应该是一起停了。

有些阅读我可以做,但我不确定这叫什么。

通常你会写一些东西来处理异常。一个例子是:

begin
  go_get_tweet 
rescue Twitter::BadRequest => e
  logger.error e.message
  # ...code to continue gracefully
rescue Twitter::TimeoutError => e
  do_something_that_retries
rescue => e
  logger.error "..."
end

在这个非常仓促的示例中,它会匹配几个特定的​​异常以及您没有指定为包罗万象的任何异常。