मेरे अनुभव में, मैं window.onerror
को लागू करने की सलाह नहीं दूंगा, जब तक आपके पास ऐसा करने का कोई मजबूत कारण न हो और आप जानते हैं कि आप क्या कर रहे हैं।
मेरे ज्ञान के लिए एम्बर के onerror
विधियों को window.onerror
पर पिग्गी-बैक विधियों और ओवरराइड करने से आपके ऐप में सभी त्रुटियों को ओवरराइड/अक्षम करने की क्षमता है।
बिंदु में मामला, मुझे हाल ही में एक अनुभव था जहां मैंने देखा कि मेरी सभी जेएस त्रुटियों ने पूरी तरह से कंसोल पर लॉगिंग बंद कर दी है। इसका कारण यह था कि मेरी टीम में एक और डेवलपर ने मेरी अनुक्रमणिका.html में <script>
टैग इंजेक्ट करने के लिए बूटस्ट्रैप किया था जो कुछ त्रुटि रिपोर्टिंग स्क्रिप्ट के लिए window.onerror
का उपयोग करता था। नतीजा यह था कि ओवरराइडिंग window
एम्बर के onerror
को कड़वाहट से अक्षम कर दिया गया क्योंकि वे एक बुलबुले फैशन में काम करते थे।
मुझे लगता है कि अगर आप window.onerror
को ओवरराइड करना चाहते हैं तो आपको यह सुनिश्चित करना होगा कि यह हमेशा false
लौटाता है ताकि यह ब्राउज़र पर डिफ़ॉल्ट त्रुटि प्रबंधन को रोक न सके।
देखें: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
मुझे आशा है कि कुछ हद तक स्पष्ट मदद करता है।
आप 'संभाल चाहिए window.onerror'' Ember.onerror' और 'Ember.RSVP.onerror ' – runspired
क्या आपके पास कोई साबित या उदाहरण है कि मुझे 'window.onerror' क्यों संभालना चाहिए? – pogopaule
यदि आप पहले से ही 'एम्बर.ऑनोरर' संभालते हैं तो 'एम्बर.आरएसवीपी.ऑनोरर' को संभालने की वास्तविक आवश्यकता नहीं है। [कोड] देखें (https://github.com/emberjs/ember.js/blob/v2.2.2/packages/ember-runtime/lib/ext/rsvp.js#L71) – pogopaule