⊗jsSpExcET 138 of 294 menu

JavaScript kylančių situacijų rūšys

JavaScript yra labai mažai situacijų, kuriose kyla išimtys. Pirma, vien dėl to, kad yra labai mažai vietų joms atsirasti.

Antra, todėl, kad pati kalba yra "atlaidi": ji daug ką leidžia praleisti, pavyzdžiui, dalybą iš nulio ar neteisingą HTML kodą. Net jei nurodysite neteisingą kelią iki vaizdo, kurį ketinate įkelti, JavaScript jums tai atleis ir nelaikys išimtimi.

Tačiau, išimtinės situacijos egzistuoja. Mes išnagrinėsime dvi paprasčiausias ir jų pavyzdžiu išnagrinėsime darbą su išimtimis JavaScript.

Pirmoji išimtis kyla, kai norime išanalizuoti neteisingą JSON:

let data = JSON.parse('{1,2,3,4,5}'); // šis JSON yra neteisingas

O antroji išimtis kyla, kai vietinė saugykla, skirta mūsų svetainei, perpildoma (daugiau nei 5 megabaitai). Sukurkime tokią išimtį dirbtinai:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // formuojame daugiau nei 5 MB eilutę str += '+'; } localStorage.setItem('key', str); // bandome įrašyti į saugyklą

Kaip JavaScript reaguoja į tokias išimtines situacijas? Jis tiesiog išveda klaidą į konsolę ir nutraukia tolesnį scenarijaus vykdymą.

Mūsų, kaip programuotojų, užduotis yra sugauti tokią situaciją ir kažkaip susidoroti su ja, neleidžiant programai visiškai nutraukti savo vykdymo. Tam egzistuoja speciali konstrukcija try-catch, kurią nagrinėsime kitose pamokose.

Sukurkite pakankamai didelio dydžio eilutę ir pabandykite ją įrašyti į vietinę saugyklą. Įsitikinkite, kad konsolėje bus klaida.

Pabandykite išanalizuoti neteisingą JSON. Įsitikinkite, kad konsolėje bus klaida.

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