⊗jsSpExcJSE 149 of 294 menu

Shembull i Përjashtimit me JSON në JavaScript

Le të supozojmë se nga bota e jashtme na vjen një JSON me një produkt:

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

Ju tashmë e dini se metoda JSON.parse do të hedhë një përjashtim, nëse JSON-i është i pasaktë. Le ta kapim këtë përjashtim:

try { let json = '{"product": "apple", "price": 1000, "amount": 5}'; let product = JSON.parse(json); alert(product.price * product.amount); } catch (error) { // reagoj në një farë mënyre ndaj përjashtimit }

Megjithatë, mund të ndodhë që vetë JSON-i të jetë i saktë, por të mos përmbajë fushat që na duhen, për shembull, nuk ka fushën e çmimit:

let json = '{"product": "apple", "amount": 5}'; // nuk ka çmim

Le të themi se edhe kjo është një situatë e jashtëzakonshme dhe në këtë rast do të hedhim një përjashtim tonë të personalizuar:

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: 'mungon çmimi ose sasia e produktit' }; } } catch (error) { // reagoj në një farë mënyre ndaj përjashtimit }

Tani blloku catch do të marrë dy lloje përjashtimesh: ose JSON-i është krejtësisht i pasaktë, dhe atëherë do të ketë një përjashtim të tipit SyntaxError, ose JSON-i është i saktë, por nuk përmban fushat që na duhen, dhe atëherë do të ketë një përjashtim të tipit ProductCostError.

Le të kapim këto lloje përjashtimesh në bllokun 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: 'mungon çmimi ose sasia e produktit' }; } } catch (error) { if (error.name == 'SyntaxError') { alert('JSON i pasaktë i produktit'); } else if (error.name == 'ProductCostError') { alert('Produktit i mungon çmimi ose sasia'); } }

Le të supozojmë se ju vjen një JSON i këtij lloji:

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

Verifikoni këtë JSON për saktësi të përgjithshme gjatë analizimit, dhe pas analizimit kontrolloni nëse rezultati është një varg, dhe jo diçka tjetër. Nëse rezultati nuk është një varg - hidhni një përjashtim.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo