Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Promise.prototype.catch

Обрабатывает ошибку промиса.

Доступно с: ES2015

Синтаксис

promise.catch(onRejected)

Параметры

ПараметрТипОписание
onRejectedFunctionФункция, которая получает ошибку.

Возвращаемое значение

PromiseНовый промис — после обработки ошибки цепочка продолжается.

Примеры

Перехват ошибки:

Promise.reject(new Error('Network error'))
  .catch((error) => console.log('Caught:', error.message));

Результат:

Caught: Network error

Один catch на всю цепочку:

Promise.resolve('{bad json')
  .then((text) => JSON.parse(text))
  .then((data) => console.log('not printed', data))
  .catch((error) => console.log(error.name));

Результат:

SyntaxError

Примечания

Ошибка в любом then() пропускает остальные then() и попадает в ближайший catch(). Промис с ошибкой без catch() даёт в консоли предупреждение Uncaught (in promise).

См. также

  • Promise.prototype.then — Задаёт, что сделать с результатом промиса.
  • Promise.prototype.finally — Выполняет действие после промиса — и при успехе, и при ошибке.
  • try...catch — Перехватывает ошибки, чтобы программа не остановилась.

В учебнике

  • Промисы — Промисы в JavaScript: состояния промиса, then, catch, finally, создание промиса через new Promise и цепочки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.