javascript - Load error is not captured by try catch block -
मेरे पास एक कोड है:
try {...} पकड़ (त्रुटि) {...}; में प्रयास करें ब्लॉक, एक फ़ंक्शन कॉल है जो सर्वर से अनुरोध करता है जब सर्वर पर कोई संसाधन नहीं होता है, तो एक त्रुटि उठाई गई है (जैसा कि मैं Google क्रोम के डेवलपर्स टूल में देख सकता हूं): संसाधन लोड करने में विफल: सर्वर ने 404 की स्थिति और मैं इसे पकड़ ब्लॉक में पकड़ने की कोशिश कर रहा हूं, लेकिन त्रुटि पर कब्जा नहीं किया गया है। क्या यह एक विशेषता है जावास्क्रिप्ट के लोड लोड को try catch block
आमतौर पर, जब एक सर्वर से जानकारी का अनुरोध करते हैं (उदाहरण के लिए, एजाक्स के माध्यम से, src तत्व का img सेटिंग आदि, सेटिंग करके), तो आप डॉन एक अपवाद प्राप्त नहीं करते हैं, लेकिन आपको एक त्रुटि इवेंट या कॉलबैक प्राप्त नहीं होता, कम से कम नहीं क्योंकि अनुरोध करने से पहले कोड समाप्त हो रहा है, इसलिए उस समय अपवाद फेंकना असंभव है। चूंकि आपने यह नहीं दिखाया है कि आप जानकारी का अनुरोध क्यों कर रहे हैं, यह अधिक विशिष्ट होना असंभव है, लेकिन यही कारण है कि आपको अपवाद नहीं मिल रहा है। उदाहरण के लिए, अगर एक एजेक्स अनुरोध है, तो एक त्रुटि आपको एजेक्स अनुरोध को पूरा हो गया है लेकिन statusCode के XMLHttpRequest ऑब्जेक्ट के बजाय 200 से अधिक त्रुटि स्थिति कोड है। उदाहरण: < कोड> var xhr = नया XMLHttpRequest (); Xhr.onreadystatechange = function () {if (xhr.readyState === 4) {// अनुरोध पूरा हो गया है; काम किया? यदि (xhr.statusCode & gt; = 200 & amp; amp; xhr.statusCode & lt; 300) {// हाँ} अन्य {// नहीं, 2xx श्रेणी के बाहर एक कोड मिला}}}; Xhr.open ("GET", "/ your / url / here", सच); xhr.send ();
Comments
Post a Comment