> Как отлавливать ошибки промисов в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: циан, Яндекс
Стек: JavaScript
> Пример ответа
Для отлова ошибок в промисах в JavaScript используется метод .catch(), который обрабатывает rejected-состояние промиса. Пример:
JAVASCRIPTfetch('https://api.example.com/data').then(response => response.json()).catch(error => console.error('Ошибка:', error));
Также можно использовать второй аргумент в .then():
JAVASCRIPTpromise.then(result => console.log(result),error => console.error('Ошибка:', error));
В современном коде предпочтительнее синтаксис async/await с try...catch:
JAVASCRIPTasync function fetchData() {try {const response = await fetch('https://api.example.com/data');const data = await response.json();console.log(data);} catch (error) {console.error('Ошибка при загрузке:', error);}}
Важно: если не отловить ошибку, она приведёт к необработанному отклонению промиса (unhandled rejection), что может вызвать падение приложения. Для глобального отлова используйте событие unhandledrejection:
JAVASCRIPTwindow.addEventListener('unhandledrejection', event => {console.error('Необработанная ошибка промиса:', event.reason);});
> Похожие задачи по frontend
Что такое самовызывающаяся функция (IIFE) в JavaScript
Изменяется ли исходный массив при вызове метода sort в JavaScript и почему
Какой метод вызывается при наследовании, если метод определён в прототипе родителя и в экземпляре дочернего класса в JavaScript
Какая конструкция может использоваться вместе с try-catch в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью