Как обрабатывать ошибки/исключения при вызове внешнего API в Ruby на Рельсы?

Я взаимодействую с API CampaignMonitor, используя ruby-обертку (createsend-ruby), и мне просто интересно, что вы порекомендуете в отношении обработки ошибок/исключений. Я думал просто использовать begin/rescue/end следующим образом, но я просто хочу знать, есть ли какие-либо лучшие методы для такого рода вещей (когда вы имеете дело со сторонним API).

begin
  list_id = CreateSend::List.create client_id, title, unsubscribe_page, confirmed_opt_in, confirmation_success_page
rescue Exception => e
  logger.error "[error] CampaignMonitor error: #{e}"
  return false
end

Например, попытаетесь ли вы перехватывать определенные исключения и обрабатывать их по отдельности?

rescue CreateSend::BadRequest => e

Или это вопрос индивидуальных предпочтений и/или требований к приложению?

Спасибо за внимание!

7
задан user664833 14 June 2012 в 19:09
поделиться