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:
let 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:
let 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.
Luo riittävän suuren kokoinen merkkijono ja yritä tallentaa se paikalliseen säilöön. Varmista, että konsoliin ilmestyy virhe.
Yritä jäsentää virheellinen JSON. Varmista, että konsoliin ilmestyy virhe.