# Перехват исключений в JavaScript

Для перехвата исключений используется конструкция `try-catch`. Она имеет следующий синтаксис:

`try { // код } catch (error) { // обработка ошибки }`

В блоке `try` следует размещать код, который может содержать исключение. Если вдруг при выполнении этого кода возникнет исключительная ситуация, то наш скрипт не рухнет с ошибкой в консоли, а начнет выполнятся код блока `catch`.

В этом блоке мы должны каким-то адекватным образом отреагировать на ошибку. Например, если мы хотели отправить какие-то данные через интернет и интернет не работает, в блоке `catch` мы можем как-то справится с ситуацией: можно, например, выдать сообщение пользователю, а можно через некоторое время попытаться отправить данные опять - вдруг интернет уже заработал.

Если же при выполнении блока `try` никаких исключительных ситуаций не случилось, то полезный код просто выполнится, а код из блока `catch` - нет.

Для примера давайте попробуем разобрать JSON и в случае его некорректности выведем на экран сообщение об этом:

`try { let data = JSON.parse('{1,2,3,4,5}'); } catch (error) { alert('невозможно выполнить операцию разбора JSON'); }`

Дан код, который записывает некоторую строку в локальное хранилище:

`let str = 'некая строка'; localStorage.setItem('key', str);`

Оберните этот код в конструкцию `try-catch`. В блоке `catch` выведите сообщение о переполнении хранилища. Проверьте работу вашего кода для строки размером менее `5` мб и для строки большего размера.

Дан JSON, внутри которого хранится массив. Если этот JSON корректный, то выведите элементы массива в виде списка `ul`. Если же JSON не корректный, выведите на экран сообщение о том, что на странице случилась ошибка.

← →
↑
en ru