⊗jsSpExcCt 139 of 294 menu

Išimčių perėmimas JavaScript

Išimčiams perimti naudojama konstrukcija try-catch. Ji turi tokią sintaksę:

try { // kodas } catch (error) { // klaidos apdorojimas }

Bloke try reikia talpinti kodą, kuris gali turėti išimtį. Jei vykdant šį kodą atsirastų išskirtinė situacija, tai mūsų scenarijus ne nukris su klaida konsolėje, o pradės vykdytis bloko catch kodas.

Šiame bloke mes turime kažkaip adekvačiai reaguoti į klaidą. Pavyzdžiui, jei mes norėjome išsiųsti kokius nors duomenis per internetą ir internetas neveikia, bloke catch mes galime kažkaip susidoroti su situacija: galima, pavyzdžiui, išduoti pranešimą vartotojui, o galima po kurio laiko pabandyti išsiųsti duomenis dar kartą - staiga internetas jau veikia.

Jei vykdant bloką try jokių išskirtinių situacijų neatsirado, tai naudingas kodas tiesiog vyks, o kodas iš bloko catch - ne.

Pavyzdžiui pabandykime išanalizuoti JSON ir jo netinkamumo atveju išvesti į ekraną pranešimą apie tai:

try { let data = JSON.parse('{1,2,3,4,5}'); } catch (error) { alert('neįmanoma atlikti JSON analizės operacijos'); }

Pateiktas kodas, kuris įrašo tam tikrą eilutę į vietinę saugyklą:

let str = 'kažkokia eilutė'; localStorage.setItem('key', str);

Apvalkalkite šį kodą į konstrukciją try-catch. Bloke catch išveskite pranešimą apie saugyklos perpildymą. Patikrinkite savo kodo veikimą su eilute, kurios dydis mažesnis nei 5 MB ir su eilute, kurios dydis didesnis.

Pateiktas JSON, kurio viduje saugomas masyvas. Jei šis JSON korektiškas, tai išveskite elemento masyvo kaip sąrašą ul. Jei JSON nekorektiškas, išveskite į ekraną pranešimą apie tai, kad puslapyje įvyko 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