Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: try catch, throw, Error object, exception handling, finally block

Что такое исключения в JavaScript и как с ними работать?

Этот вопрос проверяет понимание механизма обработки ошибок в JavaScript с помощью исключений, что необходимо для создания устойчивого к сбоям кода.

Короткий ответ

Исключения в JavaScript — это механизм обработки ошибок, который позволяет прервать нормальное выполнение программы при возникновении проблемы и передать управление специальному обработчику. Для обработки исключений используется конструкция try...catch: код, который может вызвать ошибку, помещается в блок try, а код для её обработки — в блок catch. Можно генерировать собственные исключения с помощью оператора throw, передавая ему любой объект, но обычно это экземпляр Error. Блок finally выполняется всегда, независимо от того, было исключение или нет, и используется для очистки ресурсов.

Длинный ответ

Исключения в JavaScript — это специальные объекты, которые сигнализируют о возникновении ошибки во время выполнения программы. Когда возникает исключение, нормальный поток выполнения прерывается, и JavaScript ищет ближайший обработчик исключений (блок catch). Если обработчик не найден, программа завершается с ошибкой, что может быть критично для пользовательского опыта. Поэтому грамотная обработка исключений — ключ к созданию надёжных приложений.

Базовый синтаксис try...catch...finally

Основной инструмент для работы с исключениями — конструкция try...catch...finally.

try {
  // Код, который может выбросить исключение
  const data = JSON.parse(invalidJsonString);
} catch (error) {
  // Обработка ошибки
  console.error('Ошибка парсинга JSON:', error.message);
} finally {
  // Этот блок выполнится всегда
  console.log('Операция завершена.');
}

Создание собственных исключений

Вы можете генерировать исключения самостоятельно с помощью оператора throw. Хотя можно бросить любое значение (строку, число), рекомендуется использовать встроенные или собственные классы ошибок, наследуясь от Error.

function divide(a, b) {
  if (b === 0) {
    throw new Error('Деление на ноль невозможно.');
  }
  return a / b;
}

try {
  const result = divide(10, 0);
} catch (err) {
  console.log(err.message); // "Деление на ноль невозможно."
}

Типы встроенных ошибок

JavaScript предоставляет несколько встроенных типов ошибок для конкретных случаев:

  • SyntaxError — синтаксическая ошибка.
  • TypeError — операция применена к значению неверного типа.
  • ReferenceError — ссылка на несуществующую переменную.
  • RangeError — значение вне допустимого диапазона.
  • URIError — ошибка в функциях работы с URI.

Использование конкретных типов помогает точнее диагностировать проблемы.

Где и как применять обработку исключений

Исключения следует использовать для обработки непредвиденных, но возможных ошибок выполнения, таких как:

  • Сетевая ошибка при запросе к API.
  • Ошибка парсинга данных (например, некорректный JSON).
  • Ошибки ввода пользователя, которые нельзя проверить статически.

Важно не злоупотреблять исключениями для управления обычной логикой программы — это антипаттерн. Используйте условные операторы для ожидаемых ветвлений.

Вывод: Механизм исключений в JavaScript — это мощный инструмент для обработки ошибок времени выполнения. Его стоит применять для изоляции и обработки непредсказуемых сбоев, чтобы предотвратить аварийное завершение программы и предоставить пользователю понятное сообщение об ошибке. Всегда используйте блок finally для освобождения ресурсов (например, закрытия файловых дескрипторов или соединений).

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#try catch

#throw

#Error object

#exception handling

#finally block

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию