Перехват исключений в 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 не корректный, выведите на экран сообщение
о том, что на странице случилась ошибка.