0

目前对于我正在使用api_authgem 的项目。我通过发出签名请求来访问函数中的外部 api。目前我的代码看起来像这样。

access_id = "someKey"
secret_key = "someRandomGeneratedKey"
request = RestClient::Request.new(url: 'serverUrl', method: get, headers:'headers')

@signed_request = ApiAuth.sign!(access_id, secret_key, request)
@signed_request.execute

我无法将任何错误处理代码应用于执行请求的最后一条语句。有什么建议么?

4

1 回答 1

0

您必须使用开始救援块来处理异常。

begin
    #TODO Exception occurring statement
rescue 
    #Exception handling code
end

因为你应该只拯救特定的异常,而不是全部。因此,当您的代码建议您使用rest_client& api-authgem 时,您可以从文档中获取此 gem 引发的异常列表。

示例 -rest_client需要处理以下异常。(可能这是您问题的解决方案,只需替换最后一行,如下所示)

begin 
    @signed_request.execute
rescue RestClient::ExceptionWithResponse, URI::InvalidURIError, RestClient::InternalServerError => err
    p err
end

api-authgem 也产生了很少的异常ApiAuth::ApiAuthErrorApiAuth::UnknownHTTPRequest所以你需要拯救所有这些异常。

参考链接——

http://www.rubydoc.info/gems/api-auth/1.4.0/

谢谢!

于 2016-01-18T09:33:03.593 回答