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