ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsSpExcET 138 of 294 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Виды возникающих ситуаций в JavaScript

В JavaScript очень мало ситуаций, в которых возникают исключения. Во-первых, просто потому, что очень мало мест для их возникновения.

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

Однако, исключительные ситуации есть. Мы разберем две самые простые и на их примере изучим работу с исключениями в JavaScript.

Первое исключение возникает, когда мы хотим разобрать некорректный JSON:

let data = JSON.parse('{1,2,3,4,5}'); // данный json некорректен

А второе исключение возникает, когда локальное хранилище, выделенное под наш сайт переполняется (больше 5 мегабайт). Давайте искусственно вызовем такое исключение:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // формируем строку более 5 мб str += '+'; } localStorage.setItem('key', str); // пытаемся записать в хранилище

Как JavaScript реагирует на такие исключительные ситуации? Он просто вываливает ошибку в консоль и прекращает дальнейшее выполнение скрипта.

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

Создайте строку достаточно большего размера и попытайтесь записать ее в локальное хранилище. Убедитесь в том, что в консоли будет ошибка.

Попытайтесь распарсить некорректный JSON. Убедитесь в том, что в консоли будет ошибка.

byenru