⊗jsSpExcPrb 150 of 294 menu

JavaScript-da Ýalňyşlyklary Geçirmek

JSON önümi meseleleri üçin catch bloguny gözden geçireliň:

catch (error) { if (error.name == 'SyntaxError') { alert('Nädogry JSON önümi'); } else if (error.name == 'ProductCostError') { alert('Önümde bahasy ýa-da mukdary ýok'); } }

Görşiňiz ýaly, biz özümiz görkezen iki sany ýalňyşlygy tutýarys we şoňa nähili bolsa bir reagirisiýa edýäris. Emma, göz öňünde tutulmadyk başga bir görnüşde ýalňyşlyk ýüze çyksa näme bolar? Bu ýagdaýda ol hem catch bloguna düşer, ýöne hiç hili reagirisiýa bolmaz, sebäbi başga görnüşli ýalňyşlyk hiç bir if şertimize gabat gelmez.

Hiç hili reagirisiýa bolmaz diýenimde, ýagny, hakykatdanam hiç hili: hatda konsola ýalňyşlyk düşmez. Biziň kodymyz diňe ümsümi işlemez.

Şonuň üçin şeýle bir düzgün bar: siziň kodyňyz diňe özüniň nädip üstesinden geljekdigini bilýän ýalňyşlyklary tutmaly. Eger ýalňyşlyk belli däl bolsa, onda ony throw ýardamy bilen geçirmek gerek. Bu ýagdaýda ýokardan ony has bilenli biri tutar ýa-da ýalňyşlyk konsolda ýalňyş hökmünde peýda bolar.

Geliň kodymyzy düzeliň:

catch (error) { if (error.name == 'SyntaxError') { alert('Nädogry JSON önümi'); } else if (error.name == 'ProductCostError') { alert('Önümde bahasy ýa-da mukdary ýok'); } else { throw error; // ýalňyşlygy indi geçirýäris } }

Aşakdaky kod berlen:

try { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } } catch (error) { if (error.name == 'QuotaExceededError') { alert('amatynda ýer gutardy'); } if (error.name == 'SyntaxError') { alert('nädogry JSON'); } }

Bu kodda nämä ýalňyş? Ony has gowy boljak ýaly düzeliň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et