JavaScript-та ерекшелік түрлерін қолдану
Бізде параметр ретінде массив деректері бар JSON қабылдайтын және осы массивтің әрбір элементін жергілікті сақтағышқа жазатын функция болсын:
function saveData(json) {
let arr = JSON.parse(json);
for (let i = 0; i < arr.length; i++) {
localStorage.setItem(i, arr[i]);
}
}
Бұл функцияда ерекшелік жағдайы екі жерде пайда болуы мүмкін: JSON талдау кезінде және деректерді жергілікті сақтағышқа сақтауға талпыну кезінде.
Мысалы, қателерді өңдеу ретінде біз белгілі бір проблемалар туралы хабарлама шығаруды шештік делік:
try {
saveData('{1,2,3,4,5}');
} catch (error) {
alert('бірнеше проблемалар');
}
Біздің хабарламамыз, бұл, әрине, жақсы, бірақ ол пайда болған проблемаларды ешбір жолмен ажыратпайды. Қандай нақты проблема пайда болғаны туралы хабарлама шығару логикалығырақ болар еді.
Ол үшін пайда болған қателерді атауы бойынша ажыратайық:
try {
saveData('{1,2,3,4,5}');
} catch (error) {
if (error.name == 'QuotaExceededError') {
alert('сақтағышта орын бітті');
}
if (error.name == 'SyntaxError') {
alert('жарамсыз JSON');
}
}
Менің saveData функциямның кодын көшіріп алыңыз,
содан кейін менің кодымға қарамастан сипаттаған қателерді
өңдеуді жүзеге асырыңыз.
Арнайы рет-ретпен saveData функциясында пайда болуы
мумкін ерекшелік жағдайларын жасаңыз.