⊗jsSpExcCt 139 of 294 menu

Прихващане на изключения в JavaScript

За прихващане на изключения се използва конструкцията try-catch. Тя има следния синтаксис:

try { // код } catch (error) { // обработка на грешката }

В блока try трябва да се поставя код, който може да съдържа изключение. Ако внезапно при изпълнението на този код възникне изключителна ситуация, тогава нашият скрипт няма да се срине с грешка в конзолата, а ще започне да се изпълнява кодът на блока 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 MB и за низ с по-голям размер.

Даден е JSON, вътре в който се съхранява масив. Ако този JSON е коректен, тогава изведете елементите на масива под формата на списък ul. Ако JSON не е коректен, изведете на екрана съобщение че на страницата е възникнала грешка.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне