Poikkeusten sieppaus JavaScriptissä

Poikkeusten sieppaamiseen käytetään try-catch-rakennetta. Sen syntaksi on seuraava:

javascripttry {
  // koodi
} catch (error) {
  // virheen käsittely
}

try-lohkossa tulee sijoittaa koodi, joka voi sisältää poikkeuksen. Jos tämän koodin suorituksen aikana ilmenee poikkeustilanne, skriptimme ei kaadu virheeseen konsoliin, vaan catch-lohkon koodi alkaa suorittua.

Tässä lohkossa meidän tulee jollain tavoin asianmukaisesti reagoida virheeseen. Esimerkiksi, jos yritimme lähettää tietoja Internetin kautta ja Internet ei toimi, catch-lohkossa voimme selviytyä tilanteesta: voimme esimerkiksi näyttää viestin käyttäjälle, tai voimme jonkin ajan kuluttua yrittää lähettää tiedot uudelleen - jos Internet yhteys toimii jo.

Jos try-lohkon suorituksen aikana mitään poikkeustilanteita ei tapahdu, hyödyllinen koodi suoritetaan vain, eikä koodia catch-lohkosta suoriteta.

Esimerkkinä yritetään jäsentää JSON ja sen virheellisyyden tapauksessa näytetään viesti siitä:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('JSON-jäsennystä ei voi suorittaa');
}
Задание 1

Annettu koodi, joka kirjoittaa tietyn merkkijonon paikalliseen tallennustilaan:

javascriptlet str = 'jokin merkkijono';
localStorage.setItem('key', str);

Kääri tämä kodi try-catch-rakenteeseen. catch-lohkossa näytä viesti tallennustilan ylivuodosta. Tarkista koodisi toiminta merkkijonolle, jonka koko on alle 5 tuhatta tavua ja suuremmalle merkkijonolle.

Задание 2

Annettu JSON, jonka sisällä on taulukko. Jos JSON on oikein, näytä taulukon elementit listana ul. Jos JSON on virheellinen, näytä viesti siitä, että sivulla tapahtui virhe.