के बारे में शिकायत करते हुए जावास्क्रिप्ट, JSLint के माध्यम से चलाते समय मुझे चिल्लाता है और मुझे यकीन नहीं है कि क्यों।जेएसलिंट मेरी कोशिश/पकड़
/*jslint browser: true, devel: true, evil: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, newcap: true, immed: true */
var foo = function() {
try {
console.log('foo');
} catch(e) {
alert(e);
}
try {
console.log('bar');
} catch(e) {
alert(e);
}
};
foo();
यह मुझसे कहता है: लाइन 12 चरित्र 11 पर
समस्या: 'ई' पहले से ही परिभाषित किया गया है।
} catch(e) {
यह है कि मैं एक दूसरे catch(e)
है परेशान प्रतीत होता है। यह एक मुद्दा क्यों होगा? क्या यह कैच ब्लॉक के अंदर बस स्थानीय चर को सेट नहीं करता है? क्या मुझे किसी फ़ंक्शन में सभी फंसे त्रुटियों के लिए स्थानीय चरों को विशिष्ट रूप से नामित करने की आवश्यकता है?
ऐसा प्रतीत होता है कि आप सही हैं। मुझे लगता है कि कोशिश/पकड़ने के लिए _not_ पेश नहीं करता है, जैसा कि मैंने इस त्वरित परीक्षण द्वारा साबित किया है: http://jsfiddle.net/VRcwV/ –
ओह बस संपादन को देखा! तो यह गुंजाइश पेश नहीं करता है, लेकिन पकड़ कथन द्वारा बनाए गए स्थानीय चर उस पकड़ के बाहर उपलब्ध नहीं है। तो यह केवल उस अपवाद के लिए विशेष दायरे का एक छोटा सा हिस्सा पेश करता है? –
@ स्क्वीगी: आईई 8 * नहीं * अनुपालन है, ऐसा लगता है। उस ब्राउज़र में मेरा परीक्षण (http://jsfiddle.net/DpHMt/) आज़माएं, और आप * दोनों * अलर्ट बॉक्स खोलेंगे। – PleaseStand