जैसा कि आप दिखाते हैं कि नग्न पकड़ने और फेंकने का कोई मतलब नहीं है। यह कोड और धीमी गति से निष्पादन को छोड़कर कुछ भी उपयोगी नहीं है। इसलिए, यदि आप जा रहे हैं .catch()
और पुनर्खरीद कर रहे हैं, तो कुछ ऐसा होना चाहिए जो आप करना चाहते हैं .catch()
, अन्यथा आपको .catch()
पूरी तरह से हटा देना चाहिए ।
उस सामान्य संरचना के लिए सामान्य बिंदु यह है कि जब आप किसी चीज को निष्पादित करना चाहते हैं .catch()
जैसे कि त्रुटि को लॉग करें या कुछ स्थिति (जैसे क्लोज फाइल्स) को साफ करें, लेकिन आप चाहते हैं कि वादे का सिलसिला जारी रहे।
promise.then(function(result){
}).catch(function(error) {
console.log(error);
throw error;
});
एक ट्यूटोरियल में, यह सिर्फ लोगों को दिखाने के लिए हो सकता है जहां वे त्रुटियों को पकड़ सकते हैं या त्रुटि को संभालने की अवधारणा को पढ़ाने के लिए, फिर इसे हटा सकते हैं।
पकड़ने और पुनर्वसन करने के कुछ उपयोगी कारण इस प्रकार हैं:
- आप त्रुटि लॉग करना चाहते हैं , लेकिन अस्वीकार किए गए वादे की श्रृंखला को बनाए रखें।
- आप त्रुटि को कुछ अन्य त्रुटि (अक्सर श्रृंखला के अंत में आसान त्रुटि प्रसंस्करण के लिए) में बदलना चाहते हैं । इस मामले में, आप एक अलग त्रुटि को हटा देंगे।
- वादा श्रृंखला जारी रहने से पहले आप प्रसंस्करण का एक गुच्छा करना चाहते हैं (जैसे कि करीब / मुक्त संसाधन) लेकिन आप चाहते हैं कि वादा श्रृंखला अस्वीकृत रहे।
- यदि आप एक विफलता है तो वादा श्रृंखला में इस बिंदु पर डीबगर के लिए एक ब्रेकपॉइंट लगाने के लिए एक स्पॉट चाहते हैं ।
लेकिन, कैच हैंडलर में कोई अन्य कोड के साथ एक ही कैच और एक ही एरर के रीथ्रो को कोड के सामान्य चलने के लिए कुछ भी उपयोगी नहीं होता है।