A JavaScript-ben előforduló helyzetek típusai
A JavaScript-ben nagyon kevés olyan helyzet van, amikor kivételek keletkeznek. Először is, egyszerűen azért, mert nagyon kevés a hely, ahol ezek előfordulhatnak.
Másodszor, mert maga a nyelv "megbocsátó": sok mindent elnéz, például a nullával való osztást vagy a nem megfelelő HTML kódot. Még akkor is, ha helytelen elérési utat adsz meg egy betölteni kívánt képhez, a JavaScript megbocsátja ezt is, és nem tekinti kivételnek.
Azonban vannak kivételes helyzetek. Két legegyszerűbbet fogunk megvizsgálni, és ezek példáján tanulmányozzuk a kivételek kezelését a JavaScript-ben.
Az első kivétel akkor keletkezik, amikor nem megfelelő JSON-t szeretnénk értelmezni:
let data = JSON.parse('{1,2,3,4,5}'); // ez a json nem megfelelő
A második kivétel akkor keletkezik, amikor a webhelyünk számára
kijelölt helyi tár megtelik
(több, mint 5 megabájt). Hozzuk létre mesterségesen
egy ilyen kivételt:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // 5 MB-nál nagyobb sztringet hozunk létre
str += '+';
}
localStorage.setItem('key', str); // megpróbáljuk beírni a tárolóba
Hogyan reagál a JavaScript az ilyen kivételes helyzetekre? Egyszerűen kiírja a hibát a konzolra és leállítja a szkript további végrehajtását.
Feladatunk, programozókként, az, hogy elkapjuk
az ilyen helyzetet és valahogy kezeljük,
nem engedve, hogy a program teljesen
álljon le. Erre létezik speciális try-catch
szerkezet,
amelyet a következő leckékben fogunk megvizsgálni.
Hozz létre egy elég nagy méretű sztringet és próbáld meg beírni a helyi tárhelyre. Győződj meg arról, hogy hiba jelenik meg a konzolon.
Próbálj meg nem megfelelő JSON-t értelmezni. Győződj meg arról, hogy hiba jelenik meg a konzolon.