2010-06-04 16 views
5

try ... catch(e) वीबी में On Error Resume Next के समान सेवा प्रदान करता है?त्रुटि पर जावास्क्रिप्ट में अगला फिर से शुरू करें?

मेरे पास एक ऐसा पृष्ठ है जो कई JQuery प्लगइन के साथ-साथ कुछ कार्यों को मैंने स्वयं लिखा है। सभी संभावित अपवादों को हल करने में यह बहुत काम करेगा।

अभी के लिए, मैं स्क्रिप्ट को बताना नहीं चाहता कि ब्रेक न होने पर घातक त्रुटियां होंगी। जब मैं प्लगइन का उपयोग कर रहा हूं तो मैं ऐसा कैसे करूं? हालांकि विपरीत पर त्रुटि फिर से शुरू इसके बाद आप catch ब्लॉक या नहीं बिल्कुल में त्रुटि से निपटने के लिए चुनें

+1

एक अपवाद असाधारण है, तो आप स्क्रिप्ट चलाने के लिए कैसे करता है, तो सब कुछ गड़बड़ है जारी रख सकते हैं ? :) –

+2

नहीं 'सब कुछ' गड़बड़ है। इसके बजाय, केवल 10% के आसपास कुछ;) –

+0

@ user216441, गड़बड़ को हल करने के बाद। – Pacerier

उत्तर

6

हाँ, try/catch, त्रुटियों पर कब्जा करने के लिए एक रास्ता प्रदान करता है।

तो VB में क्या किया है हो सकता है:

try { 
    doSomethingUnsavory(); 
} 
catch (e) { 
    // handle the unsavoriness if needed 
} 
बेशक

खाली पकड़ ब्लॉक इतना बुरा कर रहे हैं उन्हें उत्पादन में मत छोड़ो:

on error resume next 
DoSomethingUnsavory 
if err.number <> 0 then ... 
on error goto 0 ' you DO do this, right? 

जे एस में आप निम्न कार्य था कोड yadda yadda। सबसे अच्छी बात यह है कि त्रुटियां होने और उन्हें ठीक करने दें। तेजी से विफल!

+0

धन्यवाद। जिस त्रुटि से मैं निपट रहा हूं वह नेस्टेड रूपों पर सत्यापन प्लगइन के कारण होता है। मुझे इसके बारे में पता है और ठीक करने की कोशिश कर रहा हूं। लेकिन इसके कारण अन्य कार्य अपंग हैं (केवल कुछ ब्राउज़रों पर)। मैं अब तक एक त्वरित स्कॉच-टेप फिक्स चाहता हूं, जब तक कि त्रुटि होने से रोकने के लिए मुझे कोई रास्ता न मिल जाए। –

+3

यह सही नहीं है, मुझे पता है कि यह धागा बहुत पुराना है लेकिन यह जानकारी भ्रामक है, त्रुटि फिर से शुरू होने पर त्रुटियों को अनदेखा करता है और अगली वाक्य पर जारी रहता है, कोशिश करने वाले निकाय से निकालें/पकड़ें और त्रुटि को फेंकने पर पकड़ने पर प्रवेश करें। – Gusman

3

मेरी जानकारी के अनुसार वहाँ जावास्क्रिप्ट में अगले नहीं पर त्रुटि फिर से शुरू है, लेकिन निम्न मॉडल आपकी आवश्यकता का समाधान होगा

try 
{ 
    var providerRateAvg = data.entry.gd$rating.average; 
} 
catch(e) 
{} 
संबंधित मुद्दे