Евгений Щербаков, Я так понимаю, что в этой строчке имеется ввиду, что если во время выполнения условия resolve возникает ошибка, или используется throw new Error(), то вызовется reject.
То есть это как раз дает возможность внести исключения на те ошибки которые не распознаются catch
Для того, чтобы поставить обработчик только на ошибку, вместо .then(null, onRejected) можно написать .catch(onRejected) – это то же самое.
А почему reject не срабатывает на ошибку , которую должен сработать я не понимаю)