JavaScriptissä esiintyvät tilannetyypit

JavaScriptissä on hyvin vähän tilanteita, joissa poikkeuksia syntyy. Ensinnäkin yksinkertaisesti siksi, että paikkoja niiden syntymiselle on hyvin vähän.

Toiseksi, koska kieli itse on "antelias": se katsoo sormien läpi monia asioita, esimerkiksi nollalla jakamista tai virheellistä HTML-koodia. Vaikka määrittäisit väärän polun kuvaan, jonka aiot ladata, JavaScript antaa sinulle anteeksi eikä pidä sitä poikkeuksena.

Poikkeustilanteita kuitenkin on olemassa. Me käymme läpi kaksi yksinkertaisinta ja niiden avulla opimme työskentelemään poikkeusten kanssa JavaScriptissä.

Ensimmäinen poikkeus syntyy, kun haluamme jäsentää virheellisen JSONin:

javascriptlet data = JSON.parse('{1,2,3,4,5}'); // tämä json on virheellinen

Ja toinen poikkeus syntyy, kun paikallinen säilö, joka on varattu sivustollemme, täyttyä (yli 5 megatavua). Luodaan keinotekoisesti tällainen poikkeus:

javascriptlet str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // muodostetaan yli 5 mt:n merkkijono
  str += '+';
}

localStorage.setItem('key', str); // yritetään kirjoittaa säilöön

Miten JavaScript reagoi tällaisiin poikkeuksellisiin tilanteisiin? Se yksinkertaisesti heittää virheen konsoliin ja keskeyttää skriptin jatkotoiminnon.

Meidän tehtävämme ohjelmoijina on saada tällainen tilanne kiinni ja jotenkin selviytyä siitä, antamatta ohjelman täysin keskeyttää suoritustaan. Tätä varten on olemassa erityinen try-catch-rakenne, jota käsittelemme seuraavissa oppitunneissa.

Задание 1

Luo riittävän suuren kokoinen merkkijono ja yritä tallentaa se paikalliseen säilöön. Varmista, että konsoliin ilmestyy virhe.

Задание 2

Yritä jäsentää virheellinen JSON. Varmista, että konsoliin ilmestyy virhe.