⊗jsSpExcAT 144 of 294 menu

Utilizarea tipurilor de excepții în JavaScript

Să presupunem că avem o funcție care primește ca parametru un JSON cu un array de date și scrie fiecare element al acestui array în stocarea locală:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

În această funcție, o situație excepțională poate apărea în două locuri: la parsarea JSON-ului și la încercarea de a salva datele în stocarea locală.

Să presupunem, de exemplu, că pentru gestionarea erorilor am decis să afișăm un mesaj despre probleme:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('niște probleme'); }

Mesajul nostru este, desigur, bun, dar acesta nu diferențiază problemele apărute. Ar fi mai logic să afișăm un mesaj despre ce problemă exact a apărut.

Pentru a face acest lucru, să distingem erorile apărute după nume:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('spațiul de stocare s-a epuizat'); } if (error.name == 'SyntaxError') { alert('JSON incorect'); } }

Copiați codul funcției mele saveData, apoi, fără să vă uitați la codul meu, implementați gestionarea erorilor pe care am descris-o.

Crează intenționat, pe rând, situațiile excepționale care pot apărea în funcția saveData.

bnhifrswid