मुझे कुछ बार बताया गया है कि जावास्क्रिप्ट में अपवादों का उपयोग करने के लिए यह "खराब" है। वास्तव में यह नहीं बताया गया है कि यह बुरा क्यों है, लेकिन इसके बजाय मुझे ब्रेक का उपयोग करना चाहिए, इसके बजाय जारी रखना और वापस करना चाहिए।जावास्क्रिप्ट में अपवाद, क्या मुझे उनका उपयोग करना चाहिए और कैसे?
जो ठीक है, सिवाय मुझे छोड़कर/ब्रेक/जारी रखने की आवश्यकता नहीं है, मुझे फेंकने की जरूरत है। मेरे पास एक ऐसा मामला है जहां मेरे पास एक-दूसरे में घूमने वाला इटरेटर फ़ंक्शन है, प्रत्येक व्यक्ति कॉल पर अगला मान देता है, इसलिए मैं यह इंगित करने के लिए अपवाद का उपयोग करता हूं कि पुनरावृत्ति करने के लिए और कुछ भी नहीं है: ऐसा करने के लिए एक तार्किक तरीका लगता है, कोड साफ़ करता है और अभ्यास में पूरी तरह से काम करता है। जेएस में अपवादों का उपयोग न करने का कोई कारण नहीं है?
दूसरा प्रश्न, जब मैं अपवादों का उपयोग कर रहा हूं, तो मुझे किस तरह की वस्तुओं को फेंकना चाहिए? त्रुटियों के लिए मैं स्पष्ट रूप से त्रुटि के उदाहरण फेंक दूंगा, लेकिन विशेष मामलों के लिए (पुनरावृत्ति रोकें, आदि) मुझे उन विशिष्ट अपवादों की जांच करने के लिए एक त्वरित तरीका चाहिए, और मैंने जो किया वह बस एक खाली नामित फ़ंक्शन (फ़ंक्शन स्टॉपइटरेशन() { }) और चूंकि कार्यों की तुलना संदर्भ से की जाती है, मैं हमेशा यह जांच सकता हूं कि यह मेरा विशेष मामला है या मुझे बस फिर से जाना चाहिए। क्या यह जेएस में ऐसा करने के लिए एक बेहतर या अधिक मूर्ख तरीका है? क्या मुझे वास्तव में अपवादों का उपयोग करने से बचने के लिए अपने कोड को दोबारा करने की कोशिश करनी चाहिए?
धन्यवाद
मुझे बताया गया है कि {try {} पकड़ (ई) {} 'बंद करने का प्रयास निष्पादन को धीमा कर देगा। सत्यापित करने के लिए परीक्षण करने की आवश्यकता है। – timdream
[जावास्क्रिप्ट ट्राई-कैच प्रदर्शन बनाम के संभावित डुप्लिकेट। त्रुटि जांच कोड] (http://stackoverflow.com/questions/3217294/javascript-try-catch-performance-vs-error-checking-code) – Pointy