2015-07-13 10 views
2

Я использую appnexusapi gem для обертки над конечными точками API AppNexus.appnexusapi gem обработка исключений

Но я столкнулся с различным исключением, и мне приходится обращаться по-разному для разных исключений.

Ex.

AppnexusApi :: UnprocessableEntity: POST http://api-console.client-testing.adnxs.net/advertiser (СИНТАКСИС): имя рекламодатель уже существует в системе

ответ

2

Хороший вопрос Пучина, драгоценный камень, который вы используете неофициальная обертка для API конечных точек AppNexus. Почему бы вам не предпочесть прямые конечные точки AppNexus RESTful?

В любом случае, в Ruby вы можете использовать start ... 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 
Смежные вопросы