Tôi đang tương tác với CampaignMonitor's API bằng cách sử dụng ruby wrapper (createsend-ruby) và tôi chỉ tự hỏi những gì bạn muốn giới thiệu cho đến khi xử lý lỗi/ngoại lệ. Tôi đã suy nghĩ chỉ sử dụng bắt đầu/cứu/kết thúc như sau, nhưng tôi chỉ muốn biết nếu có bất kỳ kỹ thuật tốt hơn cho loại điều (khi bạn đang đối phó với một API của bên thứ 3).Làm cách nào để xử lý lỗi/ngoại lệ khi gọi API bên ngoài trong 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
Ví dụ: bạn có cố gắng nắm bắt các ngoại lệ cụ thể và xử lý riêng các ngoại lệ đó không?
rescue CreateSend::BadRequest => e
Hoặc đây chỉ là vấn đề yêu cầu cá nhân và/hoặc yêu cầu ứng dụng?
Cảm ơn bạn đã dành thời gian!
Ông có thể vui lòng giải thích lý do tại sao * * 'cứu Exception' nên tránh khi có thể (và chỉ một mình 'rescue' nên được sử dụng)? Ngoài ra, khi nào thì không thể tránh việc chỉ định 'Ngoại lệ'? – user664833
'giải cứu' trên giải cứu riêng của nó từ 'StandardError' và con của nó là tất cả những gì bạn cần 99% thời gian, trong khi' rescue Exception' tăng cao hơn chuỗi và cứu thoát khỏi các tín hiệu, thoát hệ thống, không có lỗi bộ nhớ và tập lệnh lỗi. Trừ khi bạn đang sử dụng 'cứu Ngoại lệ 'vì một lý do cụ thể, bạn không nên sử dụng nó. – bensie