appnexusapi gem 异常处理
appnexusapi gem exception handling
我正在使用 appnexusapi
gem 作为 AppNexus API 端点的包装器。
但是我遇到了各种异常,我必须针对不同的异常进行不同的处理。
例如。
AppnexusApi::UnprocessableEntity:POST http://api-console.client-testing.adnxs.net/advertiser(语法):给定的广告商名称已存在于系统中
好问题 Deeps,您使用的 gem 是 AppNexus API 端点的非官方包装器。为什么您不喜欢直接 AppNexus RESTful 端点?
无论如何,在 Ruby 中你可以使用 begin ... rescue ... end。
http://ruby-doc.org/core-2.2.2/Exception.html
关于 AppNexus 的更具体信息,据我所知,它提供了下面列出的 5 种异常类型。
NOAUTH, UNAUTH, SYNTAX, SYSTEM, INTEGRITY
您可以通过以下方式捕获它们(我在项目中使用的示例)
rescue_from AppnexusApi::Error do |exc|
respond_to do |format|
if exc.message.include?("NOAUTH")
elsif exc.message.include? "UNAUTH"
elsif exc.message.include? "SYNTAX"
elsif exc.message.include? "SYSTEM"
elsif exc.message.include? "INTEGRITY"
else
end
end
end
我正在使用 appnexusapi
gem 作为 AppNexus API 端点的包装器。
但是我遇到了各种异常,我必须针对不同的异常进行不同的处理。
例如。
AppnexusApi::UnprocessableEntity:POST http://api-console.client-testing.adnxs.net/advertiser(语法):给定的广告商名称已存在于系统中
好问题 Deeps,您使用的 gem 是 AppNexus API 端点的非官方包装器。为什么您不喜欢直接 AppNexus RESTful 端点?
无论如何,在 Ruby 中你可以使用 begin ... rescue ... end。
http://ruby-doc.org/core-2.2.2/Exception.html
关于 AppNexus 的更具体信息,据我所知,它提供了下面列出的 5 种异常类型。
NOAUTH, UNAUTH, SYNTAX, SYSTEM, INTEGRITY
您可以通过以下方式捕获它们(我在项目中使用的示例)
rescue_from AppnexusApi::Error do |exc|
respond_to do |format|
if exc.message.include?("NOAUTH")
elsif exc.message.include? "UNAUTH"
elsif exc.message.include? "SYNTAX"
elsif exc.message.include? "SYSTEM"
elsif exc.message.include? "INTEGRITY"
else
end
end
end