जेएस दुनिया में, SyntaxError एक रनटाइम अपवाद हो सकता है। उदाहरण के लिए, जेएसओएन प्रतिक्रिया का विश्लेषण करने की कोशिश करते समय यह जेएसओएन प्रारूप नहीं है। सर्वर कई प्रकार के प्रतिक्रियाएं वापस भेज सकता है, इसलिए यदि आप अपने अनुरोध पर एचटीएमएल बॉडी प्रतिक्रिया भेजते हैं जो कि शरीर में जेएसओएन की अपेक्षा कर रहा है, तो आपको जेएस में फेंकने जा रहे हैं। ऐसे मामले में, आपको एक त्रुटि संदेश मिलेगा जो इस तरह कुछ दिखता है: SyntaxError: JSON Parse error: Unrecognized token '<'
।
लेकिन अन्य रनटाइम सिंटेक्सएरर्स भी हैं जो आप भी प्राप्त कर सकते हैं। मोज़िला में कुछ लोगों की एक सूची है: SyntaxErrors for JSON parsing
आप इन्हें अपने कोड में पकड़ना चाहेंगे। आप इस प्रकार का सामान्य आज़माएं/कैच ब्लॉक के साथ ऐसा कर सकते हैं:
try {
JSON.parse('<html></html>');
} catch (e) {
console.log("I catch & handle all errors the same way.");
}
या आप सिंटैक्स त्रुटि विशेष रूप से देखने के लिए कर सकते हैं:
try {
JSON.parse('<html></html>');
} catch (e) {
if (e instanceof SyntaxError) {
console.log("I caught a pesky SyntaxError! I'll handle it specifically here.");
} else {
console.log("I caught an error, but it wasn't a SyntaxError. I handle all non-SyntaxErrors here.");
}
}
मोज़िला और भी अधिक info on JS errors and handling them है।
संबंधित: http://stackoverflow.com/questions/12219154/ignore-javascript-errors-in-a-page-and-continue-executing-the-script –