⊗jsSpExcAT 144 of 294 menu

Izņēmumu tipu pielietojums JavaScript

Pieņemsim, ka mums ir funkcija, kas parametrā saņem JSON ar datu masīvu un ieraksta katru šī masīva elementu lokālajā krātuvē:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

Šajā funkcijā izņēmuma situācija var rasties divās vietās: parsējot JSON un mēģinot saglabāt datus lokālajā krātuvē.

Pieņemsim, ka, piemēram, kā kļūdu apstrādi mēs nolēmām izvadīt kādu ziņojumu par problēmām:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('kādas problēmas'); }

Mūsu ziņojums, tas, protams, ir labi, bet tas nekādā veidā nediferencē radušās problēmas. Loģiskāk būtu izvadīt ziņojumu par to, kāda tieši problēma radusies.

Lai to izdarītu, atšķirsim radušās kļūdas pēc to nosaukuma:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('beidzās vieta krātuvē'); } if (error.name == 'SyntaxError') { alert('nepareizs JSON'); } }

Nokopējiet manas funkcijas saveData kodu, un pēc tam, neieskatoties manā kodā, realizējiet manis aprakstīto kļūdu apstrādi.

Speciāli pēc kārtas izveidojiet izņēmuma situācijas, kas var rasties funkcijā saveData.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt