⊗jsSpExcJSE 149 of 294 menu

जावास्क्रिप्ट में JSON अपवाद का उदाहरण

मान लीजिए कि बाहरी दुनिया से हमारे पास उत्पाद के साथ JSON आता है:

let json = '{"product": "apple", "price": 1000, "amount": 5}'; let product = JSON.parse(json); alert(product.price * product.amount);

आप पहले से जानते हैं कि यदि JSON गलत है तो विधि JSON.parse एक अपवाद फेंकेगी। आइए इस अपवाद को पकड़ें:

try { let json = '{"product": "apple", "price": 1000, "amount": 5}'; let product = JSON.parse(json); alert(product.price * product.amount); } catch (error) { // अपवाद पर किसी तरह प्रतिक्रिया करते हैं }

हालाँकि, ऐसा हो सकता है कि JSON अपने आप में सही हो लेकिन इसमें हमारे आवश्यक फ़ील्ड्स शामिल न हों, उदाहरण के लिए, कीमत का फ़ील्ड नहीं है:

let json = '{"product": "apple", "amount": 5}'; // कोई कीमत नहीं

आइए मान लें कि यह भी एक असाधारण स्थिति है और ऐसे मामले में हम अपना स्वयं का अपवाद फेंकेंगे:

try { let json = '{"product": "apple", "amount": 5}'; let product = JSON.parse(json); if (product.price !== undefined && product.amount !== undefined) { alert(product.price * product.amount); } else { throw { name: 'ProductCostError', message: 'उत्पाद में कीमत या मात्रा अनुपस्थित है' }; } } catch (error) { // अपवाद पर किसी तरह प्रतिक्रिया करते हैं }

अब ब्लॉक catch दो प्रकार के अपवाद प्राप्त करेगा: या तो JSON पूरी तरह से गलत है, और तब SyntaxError प्रकार का अपवाद होगा, या JSON सही है, लेकिन इसमें हमारे आवश्यक फ़ील्ड्स नहीं हैं, और तब ProductCostError प्रकार का अपवाद होगा।

आइए ब्लॉक catch में इन अपवादों के प्रकारों को पकड़ें:

try { let json = '{"product": "apple", "amount": 5}'; let product = JSON.parse(json); if (product.price !== undefined && product.amount !== undefined) { alert(product.price * product.amount); } else { throw { name: 'ProductCostError', message: 'उत्पाद में कीमत या मात्रा अनुपस्थित है' }; } } catch (error) { if (error.name == 'SyntaxError') { alert('अमान्य JSON उत्पाद'); } else if (error.name == 'ProductCostError') { alert('उत्पाद में कीमत या मात्रा अनुपस्थित है'); } }

मान लीजिए कि आपके पास इस प्रकार का JSON आता है:

let json = `[ { "name": "user1", "age": 25, "salary": 1000 }, { "name": "user2", "age": 26, "salary": 2000 }, { "name": "user3", "age": 27, "salary": 3000 } ]`;

पार्सिंग के दौरान इस JSON की सामान्य शुद्धता की जाँच करें, और पार्सिंग के बाद जाँच करें कि परिणामस्वरूप एक सरणी प्राप्त होती है, न कि कुछ और। यदि परिणामस्वरूप सरणी नहीं मिलती है - तो एक अपवाद फेंकें।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें