2009-10-15 12 views
5

यह बहुत अधिक आईई से संबंधित है क्योंकि आईई पर्यावरण है जिसका मैं परीक्षण करने के लिए उपयोग कर रहा हूं, लेकिन मैं जानना चाहता हूं कि क्या आप त्रुटि ऑब्जेक्ट गुणों की प्रासंगिकता को प्रभावित कर सकते हैं जब आप फेंकते हैं त्रुटि। निम्नलिखित जावास्क्रिप्ट पर विचार करें:त्रुटि ऑब्जेक्ट प्रासंगिकता के साथ जावास्क्रिप्ट में त्रुटियों को फेंकना

function MyClass (Arg1, Arg2) // Line 5 of my.js 
{ 
    if (typeof Arg1 != "string") 
     throw new Error("Invalid argument passed for MyClass"); 
    // Do some other stuff here 
} 

इसके अलावा अपने कोड नीचे आप

var myvar = new MyClass(100, "Hello"); // Line 3201 of my.js 

तो ऊपर है एक त्रुटि फेंक होगा, लेकिन डिबगिंग जानकारी में रिपोर्ट की गई त्रुटि दिखाई देंगे त्रुटि लाइन 9 पर फेंके लाइन 3201 के बजाय my.js का। क्या यह कुछ है जो आप मानक तरीकों का उपयोग करके बदल सकते हैं?

उत्तर

2

जो आप वास्तव में खोज रहे हैं वह त्रुटि के लिए एक स्टैक ट्रेस है। इसके लिए कोई मानक नहीं है लेकिन अधिकांश ब्राउज़र खोज के कुछ साधन प्रदान करते हैं। एक त्वरित खोज करना इस js stack trace उदाहरण के साथ आता है।

+0

आपके उत्तर के लिए धन्यवाद, मैं डिबगर के बिना स्टैक ट्रेसिंग में देख रहा हूं और एक बहुत उपयोगी लिंक http://eriwen.com/javascript/js-stack-trace/ पाया। मैं विंडोज डेस्कटॉप गैजेट्स (आईई पर बनाया गया) का निर्माण करता हूं और डिबगिंग के लिए विजुअल स्टूडियो का उपयोग करने के बजाय मैं आमतौर पर विंडो को नियंत्रित करता हूं। आतंक और लाइन/त्रुटि संदेश के साथ सतर्क रहें ताकि मैं सीधे कोड में जा सकूं - यह तेज़ और आसान है रास्ता लेकिन मैं देख सकता हूं कि ढेर को और भी उपयोगी कैसे देखा जा सकता है। –

+0

बस एहसास हुआ कि आपका लिंक वही था - व्हाउप्स :) –

+0

इसे उत्तर के रूप में चिह्नित किया क्योंकि यह पहला था। धन्यवाद :) –

2

फ़ायरफ़ॉक्स में आप त्रुटि पकड़ते समय स्टैक प्रॉपर्टी का उपयोग कर सकते हैं। अन्य ब्राउज़रों में आप संदेश संपत्ति का उपयोग कर सकते हैं।

stacktrace को पकड़ने के तरीके पर इस लिंक को देखें।

+0

मैंने पहले उस लिंक को पाया और यह काफी दिलचस्प है, धन्यवाद। –

संबंधित मुद्दे