Перехват исключений во вложенном коде в JavaScript
Особенность и удобство исключений заключаются в том, что их можно ловить при любом уровне вложенности кода. Посмотрим на примере. Пусть у нас есть функция, сохраняющая данные в локальное хранилище:
function save(str) {
localStorage.setItem('key', str);
}
Как вы уже знаете, при переполнении хранилища,
метод setItem выбросит исключение.
Не обязательно, однако, это исключение ловить
внутри функции save. Можно обернуть
в try каждый вызов самой функции:
try {
save('некая строка');
} catch (error) {
alert('закончилось место в локальном хранилище!');
}
Дана функция, преобразующая JSON в массив:
function getArr(json) {
return JSON.parse(json);
}
В следующем коде из JSON получают массив:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Оберните вызов функции в конструкцию try-catch.