इस ट्यूटोरियल में, आप उदाहरणों की मदद से जावास्क्रिप्ट थ्रो स्टेटमेंट के बारे में जानेंगे।
पिछले ट्यूटोरियल में, आपने जावास्क्रिप्ट ट्रायल… कैच स्टेटमेंट का उपयोग करके अपवादों को संभालना सीखा। कोशिश और कैच स्टेटमेंट अपवादों को एक मानक तरीके से संभालते हैं जो जावास्क्रिप्ट द्वारा प्रदान किया जाता है। हालाँकि, आप throw
उपयोगकर्ता-परिभाषित अपवादों को पास करने के लिए कथन का उपयोग कर सकते हैं ।
जावास्क्रिप्ट में, throw
कथन उपयोगकर्ता द्वारा परिभाषित अपवादों को संभालता है। उदाहरण के लिए, यदि एक निश्चित संख्या को 0 से विभाजित किया गया है , और यदि आपको Infinity
अपवाद के रूप में विचार करने की आवश्यकता है, तो आप throw
उस अपवाद को संभालने के लिए कथन का उपयोग कर सकते हैं ।
जावास्क्रिप्ट फेंक बयान
फेंक स्टेटमेंट का सिंटैक्स है:
throw expression;
यहां, expression
अपवाद के मूल्य को निर्दिष्ट करता है।
उदाहरण के लिए,
const number = 5; throw number/0; // generate an exception when divided by 0
नोट : अभिव्यक्ति स्ट्रिंग, बूलियन, संख्या या ऑब्जेक्ट मान हो सकती है।
जावास्क्रिप्ट कोशिश के साथ फेंक … पकड़
का सिंटैक्स try… catch… throw
है:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
नोट : जब फेंक स्टेटमेंट निष्पादित किया जाता है, तो यह ब्लॉक से बाहर निकल जाता है और catch
ब्लॉक में चला जाता है । और throw
कथन के नीचे कोड निष्पादित नहीं किया गया है।
उदाहरण 1: कोशिश करें … पकड़ें … उदाहरण फेंकें
const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )
आउटपुट
एक त्रुटि पकड़ा त्रुटि संदेश: त्रुटि: संख्या कम है
उपरोक्त कार्यक्रम में, एक शर्त की जाँच की जाती है। यदि संख्या 51 से कम है , तो एक त्रुटि है। और उस त्रुटि को throw
कथन का उपयोग करके फेंक दिया जाता है ।
throw
बयान स्ट्रिंग निर्दिष्ट करता है The number is low
अभिव्यक्ति के रूप में।
नोट : आप भी मानक त्रुटियों के लिए अन्य में निर्मित त्रुटि कंस्ट्रक्टर्स उपयोग कर सकते हैं: TypeError
, SyntaxError
, ReferenceError
, EvalError
, InternalError
, और RangeError
।
उदाहरण के लिए,
throw new ReferenceError('this is reference error');
रीथ्रो ए एक्सेप्शन
आप एक अपवाद को पुनर्व्यवस्थित करने के throw
लिए catch
ब्लॉक के अंदर स्टेटमेंट का भी उपयोग कर सकते हैं । उदाहरण के लिए,
const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )
आउटपुट
एक त्रुटि पकड़ा त्रुटि संदेश: त्रुटि: यह फेंक त्रुटि हल है
उपरोक्त कार्यक्रम में, अपवाद को पकड़ने के throw
लिए try
ब्लॉक के भीतर स्टेटमेंट का उपयोग किया जाता है। और throw
बयान उस catch
खंड में फिर से डाला गया है जो ब्लॉक को निष्पादित करता है यदि catch
ब्लॉक अपवाद को नहीं संभाल सकता है।
यहां, catch
ब्लॉक अपवाद को संभालता है और कोई त्रुटि नहीं होती है। इसलिए, इस throw
कथन पर पुनर्विचार नहीं किया गया है।
यदि त्रुटि को पकड़ ब्लॉक द्वारा नियंत्रित नहीं किया गया था, तो थ्रो स्टेटमेंट को त्रुटि संदेश के साथ फिर से हटा दिया जाएगा। अनकवर्ड एरर: मान कम है