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 функциясында пайда боло турган
өзгөчө кырдаалдарды ырааттуу түрдө түзүңүз.