⊗jsSpExcET 138 of 294 menu

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.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää