⊗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çeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне