"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट में कस्टम अपवादों के स्टैक ट्रेस कैसे कैप्चर करें?

जावास्क्रिप्ट में कस्टम अपवादों के स्टैक ट्रेस कैसे कैप्चर करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:490

How to Capture Stack Traces of Custom Exceptions in JavaScript?

फेंक दिए गए अपवादों की एक श्रृंखला प्राप्त करना

हालांकि जावास्क्रिप्ट अपवादों को बढ़ाने की अनुमति देता है, एक कस्टम अपवाद के लिए स्टैक ट्रेस प्राप्त करना चुनौतीपूर्ण हो सकता है . यह आलेख विशेष रूप से उपयोगकर्ता-परिभाषित अपवादों के लिए स्टैक ट्रेस पुनर्प्राप्त करने के लिए विभिन्न तरीकों की खोज करता है।

त्रुटि ऑब्जेक्ट की स्टैक संपत्ति एक सरल समाधान प्रदान करती है। एक नई त्रुटि ऑब्जेक्ट बनाकर और उसकी स्टैक प्रॉपर्टी तक पहुंच कर, आप एक ट्रेस कैप्चर कर सकते हैं:

function stackTrace() {
    var err = new Error();
    return err.stack;
}

यह दृष्टिकोण इसके समान एक स्टैक ट्रेस उत्पन्न करता है:

DBX.Utils.stackTrace@http://localhost:49573/assets/js/scripts.js:44
DBX.Console.Debug@http://localhost:49573/assets/js/scripts.js:9
.success@http://localhost:49573/:462
x.Callbacks/c@http://localhost:49573/assets/js/jquery-1.10.2.min.js:4
x.Callbacks/p.fireWith@http://localhost:49573/assets/js/jquery-1.10.2.min.js:4
k@http://localhost:49573/assets/js/jquery-1.10.2.min.js:6
.send/r@http://localhost:49573/assets/js/jquery-1.10.2.min.js:6

यह प्रारूप कॉलिंग फ़ंक्शन, URL और क्रमिक कॉलिंग फ़ंक्शन प्रदान करता है।

आधुनिक ब्राउज़रों के लिए, एक अधिक सरल विधि उपलब्ध है:

console.trace(); // (MDN Reference)

यह फ़ंक्शन एक स्टैक ट्रेस कैप्चर करता है और इसे कंसोल में प्रदर्शित करता है।

मूल थ्रेड में एक वैकल्पिक विकल्प प्रस्तावित किया गया था:

function stacktrace() { 
  function st2(f) {
    return !f ? [] : 
        st2(f.caller).concat([f.toString().split('(')[0].substring(9)   '('   f.arguments.join(',')   ')']);
  }
  return st2(arguments.callee.caller);
}

यह फ़ंक्शन कॉल स्टैक को पुनरावर्ती रूप से पार करता है और एक स्टैक ट्रेस स्ट्रिंग बनाता है।

इन विधियों को लागू करके, डेवलपर्स कस्टम जावास्क्रिप्ट अपवादों के लिए प्रभावी ढंग से स्टैक ट्रेस प्राप्त कर सकते हैं, जिससे अधिक मजबूत त्रुटि प्रबंधन और डिबगिंग सक्षम हो सकती है। .

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729175015 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3