⊗jsSpExcAT 144 of 294 menu

JavaScriptда исключение турларини қўллаш

Фарз қилайлик, бизнинг функциямиз маълумотлар массиви билан JSON қабул қилади ва унинг ҳар бир элементини локальный сақлашга ёзади:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

Ушбу функцияда исключий вазият икки жойда юзага келиши мумкин: JSON ни таҳлил қилишда ва маълумотларни локальный сақлашга сақлашга уринишда.

Мисол учун, хатоларни қайта ишлаш сифатида бироз муаммо хақида хабар чиқаришга қарор қилдик деб фараз қилайлик:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('бир неча муаммолар'); }

Бизнинг хабармиз, албатта, яхши, лекин у юзага келган муаммоларни ҳеч қандай фарқламойди. Аниқ қандай муаммо юзага келгани хақида хабар чиқариш маъқулроқ бўлар эди.

Бунинг учун юзага келган хатоларни номи бойича фарқлаймиз:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('сақлашда жой тамом бўлди'); } if (error.name == 'SyntaxError') { alert('нотўғри JSON'); } }

Менинг saveData функциям кодин нусхалаб олинг, сўнгра менинг кодимга қарамай сиз тавсифлаган хатоларни қайта ишлашни амалга оширинг.

Махсус навбат билан saveData функциясида юзага келиши мумкин бўлган исключий вазиятларни яратинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш