⊗jsSpExcET 138 of 294 menu

Намудҳои ҳолатҳои ба вуқӯъпезида дар JavaScript

Дар JavaScript хеле кам ҳолатҳо ба миён меоянд, ки истисноҳо (exceptions) ба вуқӯъ меоянд. Аввалан, танҳо ба ин сабаб, ки хеле кам ҷойҳо барои ба вуқӯъ омадани онҳо мавҷуданд.

Дуюм, ба ин сабаб, ки худи забон "ба ҳама чиз умедвор" аст: он ба бисёр чизҳо аз ангуштон мегузарад, масалан, ба тақсим бар сифр ё ба рамзи HTML-и нодуруст. Ҳатто агар шумо роҳи нодурустро ба сурат, ки мехоҳед бор кунед, ишора кунед, JavaScript ба шумо инро мебахшад ва онро ҳамчун истисно ҳисоб намекунад.

Аммо, ҳолатҳои истисноӣ вуҷуд доранд. Мо дуто аз содатаринҳоро таҳлил мекунем ва дар мисоли онҳо кор бо истисноҳо дар JavaScript-ро меомӯзем.

Якумин истисно он ҳангом ба миён меояд, ки мо мехоҳем JSON-и нодурустро таҳлил кунем (parse):

let data = JSON.parse('{1,2,3,4,5}'); // ин JSON нодуруст аст

Ва истиснои дуввум он ҳангом ба миён меояд, ки ҳофизаи маҳаллӣ, барои сомонаи мо хоссикардашуда аз ҳад пур мешавад (бештар аз 5 мегабайт). Биёед ин истисноро сунъӣ ба даъват кунем:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // сатрро бештар аз 5 мб ташкил медиҳем str += '+'; } localStorage.setItem('key', str); // кӯшиш мекунем ба ҳофиза нависем

JavaScript ба чунин ҳолатҳои истисноӣ чӣ гуна вокуниш нишон медиҳад? Он танҳо хаторо ба консол меандозад ва иҷрои минбаъдаи скриптро қатъ мекунад.

Вазифаи мо, ҳамчун барномасозон, дар он аст, ки чунин ҳолатро гирифта ва ба тавре бо он роҳ кушоем, ба барнома имкон надиҳем, ки комилан иҷрои худро қатъ кунад. Барои ин конструксияи махсуси try-catch вуҷуд дорад, ки мо онро дар дарсҳои оянда таҳлил мекунем.

Сатрро ба андозаи кофӣ калон созед ва кӯшиш кунед, ки онро ба ҳофизаи маҳаллӣ нависед. Боварӣ ҳосил кунед, ки дар консол хато хоҳад буд.

Кӯшиш кунед, ки JSON-и нодурустро таҳлил кунед (parse). Боварӣ ҳосил кунед, ки дар консол хато хоҳад буд.

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