try-catch конструкцияси ёрдамида исключий вазиятларни қандай ушлашни ўрганамиз.">


⊗jsSpExcCt 139 of 294 menu

JavaScriptда исключенияларни ушлаш

Исключенияларни ушлаш учун try-catch конструкцииси ишлатилади. Унинг синтаксиси куйидагича:

try { // код } catch (error) { // хатоликни ишлов бериш }

try блокида исключение юзага келиши мумкин бўлган код жойлаштирилади. Агар ушбу кодни ишга тушириш пайтида исключий вазият юзага келса, бизнинг скриптимиз консолда хатолик билан хайдов bermaydi, балки catch блокининг коди ишлай бошлайди.

Ушбу блокда биз хатоликка қандайдир муносиб жавоб беришимиз керак. Мисол учун, агар биз интернет орқали қандайдир маълумотлар юбормоқчи бўлсак ва интернет ишламаса, catch блокида биз вазиятни енгиш имконимиз бор: масалан, фойдаланувчига хабар чиқариш мумкин, ёки бироз вақт ўтгач маълумотларни қайтадан юборишга ҳаракат қилиш мумкин - шойи интернет ишлай бошлаган бўлиши мумкин.

Агар try блокини ишга тушириш пайтида ҳеч қандай исключий вазиятлар юзага келмаса, у ҳолда фойдали код оддий ишлайди, catch блокининг коди эса ишламайди.

Мисол учун, JSON ни таҳлил қилиб кўрайлик ва агар у нотўғри бўлса, экранга у ҳақда хабар чиқарайлик:

try { let data = JSON.parse('{1,2,3,4,5}'); } catch (error) { alert('JSON ни таҳлил қилиш амалиётини бажариб бўлмади'); }

Маълум бир сатрни локальный сақловчига ёзадиган код берилган:

let str = 'бирор сатр'; localStorage.setItem('key', str);

Ушбу кодни try-catch конструкциясига ўранг. catch блокида сақловчи тўлиб қолгани ҳақида хабар чиқаринг. Кодингизнинг ишлашини 5 мб дан кам ҳажмдаги сатр ва ундан катта ҳажмдаги сатр учун текшириб кўринг.

Ичида массив сақланган JSON берилган. Агар ушбу JSON тўғри бўлса, массив элементларини ul рўйхат шаклида чиқаринг. Агар JSON нотўғри бўлса, экранда саҳифада хатолик юз бергани ҳақида хабар чиқаринг.

hyidsvcspt