# Перехват исключений во вложенном коде в 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`.

← →
↑
en ru