में त्रुटि नहीं मिलती है मेरी सॉकेट वर्तमान में नेट :: ERR_CONNECTION_REFUSED फेंकता है क्योंकि सर्वर नहीं चल रहा है, जिसे मैं इस समय करना चाहता हूं।जावास्क्रिप्ट को वेबसॉकेट इंस्टेंटेशन
समस्या यह है कि कोड के निम्नलिखित भाग में त्रुटि नहीं होती है। कंसोल में मुझे लाइन 2 पर एक अपवाद दिखाई देता है (नेट :: ERR_CONNECTION_REFUSED के साथ) जो मुझे विश्वास है कि ऐसा नहीं होना चाहिए क्योंकि यह एक कोशिश कथन के भीतर है।
1 try {
2 ws = new WebSocket('ws://'+ host + ':' + port + '/');
3 }
4 catch (err) {
5 console.log('This never prints');
6 }
7 ws.onerror = function (error) {
8 console.log(error);
9 };
तो मेरा सवाल यह है कि क्यों नहीं पकड़ा जा रहा है?
जो मैं अंततः चाहता हूं वह त्रुटि संदेश कहीं और प्रदर्शित किया जा सकता है, लेकिन मैं इसे पकड़ नहीं सकता, और लाइन 8 एक "ईवेंट" ऑब्जेक्ट प्रिंट करता है जिसमें नेट :: ERR_CONNECTION_REFUSED का उल्लेख नहीं है, इसलिए मुझे यकीन नहीं है त्रुटि संदेश कैसे प्राप्त करें।
यह बहुत उपयोगी जानकारी है, हालांकि मुझे नहीं लगता कि अपवाद "पकड़ा" क्यों नहीं है। ऐसा लगता है कि भाषा के मौलिक ढांचे को तोड़ना है। मुझे लगता है कि जो कुछ मैं चाहता हूं उसे करने का तरीका बंद करना होगा और क्लोजएवेंट के कोड को देखना होगा। – andyhasit
@AndyHasIt मैंने इसके बारे में एक उद्घाटन अनुच्छेद जोड़ा; मुझे उम्मीद है कि यह काफी स्पष्ट है। असल में, हम एक त्रुटि को पकड़ नहीं सकते हैं क्योंकि एसिंक्रोनस कनेक्शन प्रयास में त्रुटि से मुकाबला करने से पहले हम सिंक्रनाइज़ रूप से 'try' ब्लॉक से बाहर निकलते हैं। – apsillers
आपकी मदद के लिए धन्यवाद, सही समझ में आता है। – andyhasit