मेरे पास कुछ कोड है जो एक Error फेंकता है। क्या यह कोड सही है या मैं वाक्य रचना में कुछ गलत कर रहा हूँ? क्या यह throw new Error() का डिफ़ॉल्ट व्यवहार है या मैं कुछ गलत कर रहा हूं? क्रिप्या मेरि सहायता करे।

function Test1(test: boolean): boolean | never {
    if (test === true)
        return false;

    throw new Error();
}
Test1(false);

यह निम्नलिखित आउटपुट उत्पन्न करता है:

/home/midhun/typescriptexamples/typescriptexample.js:79
    throw new Error();
    ^

Error
    at Test1 (/home/midhun/typescriptexamples/typescriptexample.js:79:11)
    at Object.<anonymous> (/home/midhun/typescriptexamples/typescriptexample.js:81:1)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
    at internal/main/run_main_module.js:18:47

मेरा अंतिम प्रश्न: टाइपस्क्रिप्ट में इस त्रुटि को कैसे पकड़ें?

-2
Midhun Raj 5 जिंदा 2021, 23:11
3
कोड अपेक्षित व्यवहार करता है .... आपकी स्थिति कहती है कि यदि यह सच है तो झूठी वापसी के बराबर है ... जब आप इसे कॉल करते हैं तो यह सत्य नहीं है इसलिए यह अगली पंक्ति पर जारी रहता है जो नई त्रुटि फेंकता है ()
 – 
Jonathan Alfaro
5 जिंदा 2021, 23:13
लेकिन यह प्रोग्राम को ठीक से क्रैश करता है मैं त्रुटि को कैसे पकड़ सकता हूं?
 – 
Midhun Raj
5 जिंदा 2021, 23:17
उपरोक्त कोड स्निपेट एक खराब दृष्टिकोण नहीं है
 – 
Midhun Raj
5 जिंदा 2021, 23:18
यह सिर्फ प्रोग्राम को क्रैश करता है?
 – 
Midhun Raj
5 जिंदा 2021, 23:20
3
 – 
phuzi
5 जिंदा 2021, 23:38

1 उत्तर

सबसे बढ़िया उत्तर

जावास्क्रिप्ट में (और इसलिए टाइपस्क्रिप्ट में) यदि आप चीजों को क्रैश होने से thrown त्रुटि को रोकना चाहते हैं, तो आपको इसे try..catch स्टेटमेंट। जिस कोड से त्रुटि हो सकती है वह try ब्लॉक के अंदर होना चाहिए, और जो कोड त्रुटि से संबंधित है वह catch ब्लॉक के अंदर होना चाहिए:

console.log("Starting up...")
try {
  const ret = Test1(false);
  console.log(ret);
} catch (err) {
  console.log("uh oh, I caught an error", err)
}
console.log("Moving on...");

यह लॉग उत्पन्न करता है जैसे

/* [LOG]: "Starting up..." 
[LOG]: "uh oh, I caught an error",  Error: {} 
[LOG]: "Moving on..." */

कोड के लिए खेल का मैदान लिंक

3
jcalz 5 जिंदा 2021, 23:43