Я хотел бы поймать все необработанные исключения/отклонения, которые происходят в рамках javascript Promise. Есть ли хороший метод для ловли их без добавления .catch(..)
на каждом конце цепочки Promise? (в случае забывания добавить это, ошибка молча исчезает).
Консоль разработчика в Google Chrome может записывать их в журнал, мне также нравится записывать их в рабочей среде.
Для обычных исключений javascript я использую функцию window.onerror
, но ошибки от Promise вызывают эту функцию.
Пример:
window.onerror = function (e) {
alert("unhandled error: " + e);
};
var p = new Promise(function (resolve, reject) {
var nullObject = null;
// Raise a TypeError: Cannot read property 'forceNullError' of null
var x = nullObject.forceNullError();
resolve();
});
p.then(function () { alert('success'); });
JSFiddle: https://jsfiddle.net/f7zwej6L/
*) Я заметил, что WinJS имеет метод .done(..)
для того, что я хочу, но Native Promises не делает.