В чем разница выводов – throw 'message' и throw new Error('message')?
Можно ли выбросить ошибку внутри then и как она будет обработана
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
3
Сложность:
6
throw 'message' — выбрасывает строку, но без стека вызовов и деталей ошибки.
throw new Error('message') — создает объект ошибки с stack, name и другими свойствами, что упрощает отладку.
Рейтинг:
5
Сложность:
7
Да, внутри then можно выбросить ошибку с помощью throw. Такая ошибка автоматически превращает Promise в rejected. Она будет поймана ближайшим catch ниже по цепочке. По сути, throw внутри then эквивалентен return Promise.reject(error).