РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗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
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш