JavaScript radušās situāciju veidi
JavaScript ir ļoti maz situāciju, kurās rodas izņēmumi. Pirmkārt, vienkārši tāpēc, ka ir ļoti maz vietu, kur tie var rasties.
Otrkārt, tāpēc, ka pati valoda ir "vispiedošā": tā uz daudzām lietām skatās caur pirkstiem, piemēram, uz dalīšanu ar nulli vai uz nekorektu HTML kodu. Pat ja jūs norādīsiet nepareizu ceļu uz attēlu, kuru grasāties ielādēt, JavaScript jums to piedos un neuzskatīs par izņēmumu.
Tomēr, izņēmuma situācijas pastāv. Mēs izanalizēsim divas vienkāršākās un uz to piemēra izpētīsim darbu ar izņēmumiem JavaScript.
Pirmais izņēmums rodas, kad mēs vēlamies parsēt nekorektu JSON:
let data = JSON.parse('{1,2,3,4,5}'); // šis json ir nekorekts
Un otrais izņēmums rodas, kad lokālā
krātuve, kas piešķirta mūsu vietnei, ir pārpildīta
(vairāk nekā 5 megabaiti). Radīsim šādu izņēmumu mākslīgi:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // veidojam virkni vairāk nekā 5 mb
str += '+';
}
localStorage.setItem('key', str); // mēģinām ierakstīt krātuvē
Kā JavaScript reaģē uz šādām izņēmuma situācijām? Tas vienkārši izmet kļūdu konsolē un pārtur turpmāku skripta izpildi.
Mūsu kā programmētāju uzdevums ir
noķert šādu situāciju un kā ar to tikt galā,
neļaujot programmai pilnībā
pārtraut savu izpildi. Šim nolūkam
pastāv īpaša konstrukcija try-catch,
ko mēs apskatīsim nākamajās nodarbībās.
Izveidojiet pietiekami liela izmēra virkni un mēģiniet to ierakstīt lokālajā krātuvē. Pārliecinieties, ka konsolē parādīsies kļūda.
Mēģināt parsēt nekorektu JSON. Pārliecinieties, ka konsolē parādīsies kļūda.