如何处理 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
在这个非常仓促的示例中,它会匹配几个特定的异常以及您没有指定为包罗万象的任何异常。
所以我对这件事还很陌生,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
在这个非常仓促的示例中,它会匹配几个特定的异常以及您没有指定为包罗万象的任何异常。