मैं ruby wrapper (createsend-ruby) का उपयोग कर CampaignMonitor's API के साथ बातचीत कर रहा हूं और मैं बस सोच रहा हूं कि आप त्रुटि/अपवाद हैंडलिंग के रूप में क्या सलाह देंगे। मैं केवल शुरुआत/बचाव/अंत का उपयोग करने के बारे में सोच रहा था, लेकिन मैं सिर्फ यह जानना चाहता हूं कि इस तरह की चीज़ के लिए कोई बेहतर तकनीक है (जब आप किसी तृतीय-पक्ष 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
या यह व्यक्तिगत वरीयता और/या ऐप आवश्यकताओं का मामला है?
आपके समय के लिए धन्यवाद!
आप कृपया समझा सकते हैं * क्यों * 'बचाव Exception' से बचा जाना चाहिए जब संभव हो (और सिर्फ' अकेले rescue' इस्तेमाल किया जाना चाहिए)? साथ ही, 'अपवाद' निर्दिष्ट करने से बचना संभव नहीं होगा? – user664833
'बचाव 'से अपने बचाव पर' बचाव' और उसके बच्चों को जो आपको 99% समय की आवश्यकता है, जबकि 'बचाव अपवाद' श्रृंखला को ऊपर ले जाता है और सिग्नल, सिस्टम निकास, कोई स्मृति त्रुटियों और स्क्रिप्ट से बचाता है त्रुटियों। जब तक आप किसी विशेष कारण से 'बचाव अपवाद' का उपयोग नहीं कर रहे हैं, तो आपको इसका उपयोग नहीं करना चाहिए। – bensie