JavaScriptis esinevate olukordade liigid
JavaScriptis on väga vähe olukordi, kus tekivad erandid. Esiteks lihtsalt sellepärast, et erindite tekkimiseks on väga vähe kohti.
Teiseks sellepärast, et keel ise on "kõikeandestav": see vaatab paljude asjade pealt kergelt üle, näiteks nulliga jagamist või ebaõiget HTML koodi. Isegi kui te määrate vale tee pildile, mida kavatsete laadida, annab JavaScript teile selle andeks ega pea seda erandiks.
Siiski on olemas erandolukordi. Me vaatame kahte kõige lihtsamat ja nende näitel õpime töötama eranditega JavaScriptis.
Esimene erand tekib siis, kui me soovime sõeluda ebaõiget JSONit:
let data = JSON.parse('{1,2,3,4,5}'); // see json on ebaõige
Ja teine erand tekib siis, kui kohalik
salvestusruum, mis on eraldatud meie saidile, on üle täitunud
(rohkem kui 5 megabaiti). Tekitame sellise erandi
tehislikult:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // moodustame üle 5 mb stringi
str += '+';
}
localStorage.setItem('key', str); // püüame salvestada hoidlasse
Kuidas JavaScript sellistele erandlikele olukordadele reageerib? See viskab vea konsooli ja lõpetab skripti edasise täitmise.
Meie ülesanne programmeerijatena on
see, et selline olukord püüda kinni ja kuidagi
sellega toime tulla, ilma et programm täiesti
oma täitmist lõpetaks. Selleks
on olemas spetsiaalne konstruktsioon try-catch,
mida me käsitleme järgmistes õppetükides.
Looge piisavalt suure mahuga string ja proovige see kohalikku salvestusruumi kirjutada. Veenduge, et konsoolis kuvataks viga.
Proovige sõeluda ebaõiget JSONit. Veenduge, et konsoolis kuvataks viga.