Примена на типови на исклучоци во 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.