Что будет, если не обрабатывать ошибки в Promise (нет .catch)?

Если в Promise не обработать ошибку с помощью .catch(), то ошибка останется необработанной.

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

Что ответить на собеседовании

Если в Promise не обработать ошибку с помощью .catch(), то ошибка останется необработанной. В современных средах выполнения (например, в браузерах или Node.js) это приведёт к появлению предупреждения или ошибки "Unhandled Promise Rejection".

Подробный разбор

Ответ с пояснениями

Если в Promise не обработать ошибку с помощью .catch(), то ошибка останется необработанной. В современных средах выполнения (например, в браузерах или Node.js) это приведёт к появлению предупреждения или ошибки "Unhandled Promise Rejection".

Последствия:

  • В браузере может появиться сообщение в консоли, что ошибка не была обработана.
  • В Node.js необработанные отклонения промисов могут привести к завершению процесса с ошибкой (в зависимости от версии и настроек).

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

Пример правильной обработки:

fetch('/api/data')
  .then(response => response.json())
  .catch(error => {
    console.error('Ошибка при загрузке данных:', error);
  });

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку