Sto interagendo con CampaignMonitor's API utilizzando ruby wrapper (createsend-ruby) e mi chiedo solo cosa consiglieresti per quanto riguarda la gestione degli errori/delle eccezioni. Stavo pensando di usare start/rescue/end come segue, ma voglio solo sapere se ci sono tecniche migliori per questo genere di cose (quando hai a che fare con un'API di terze parti).Come gestire errori/eccezioni quando si chiama un'API esterna in Ruby on Rails?
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
Ad esempio, si tenta di rilevare eccezioni specifiche e gestirle singolarmente?
rescue CreateSend::BadRequest => e
Oppure si tratta solo di preferenze individuali e/o requisiti di app?
Grazie per il vostro tempo!
Potrebbe spiegare gentilmente * perché * 'soccorso Exception' dovrebbe essere evitato quando possibile (e proprio' rescue' da solo dovrebbe essere usato)? Inoltre, quando non sarebbe possibile evitare di specificare "Eccezione"? – user664833
'rescue' sui propri salvataggi da 'StandardError' e dai suoi figli che è tutto ciò che serve il 99% delle volte, mentre' rescue Exception' aumenta la catena e salva da segnali, uscite di sistema, errori di memoria e script errori. A meno che non si utilizzi 'rescue Exception' per un motivo particolare, non si dovrebbe usarlo. – bensie