У меня есть код с AngularJS:
service.doSomething()
  .then(function(result) {
      //do something with the result
  });
В AngularJS 1.5.9, когда у меня есть ошибка в разделе .then(), например:
service.doSomething()
  .then(function(result) {
      var x = null;
      var y = x.y;
      //do something with the result
  });
Я получаю сообщение об ошибке:
TypeError: Невозможно прочитать свойство 'y' null
Но в версии 1.6 с тем же кодом у меня возникает другая ошибка:
Возможно необработанное отклонение: {} undefined
Я знаю, что это связано с это изменение, а одно решение довольно просто, добавив блок .catch():
service.doSomething()
  .then(function(result) {
      var x = null;
      var y = x.y;
      //do something with the result
  })
  .catch(console.error);
Теперь у меня снова есть то, что я хочу:
TypeError: Невозможно прочитать свойство 'y' null
Но как получить тот же результат (более подробную ошибку) для всего приложения без добавления блока .catch() в каждом месте?
Я протестировал предлагаемое решение, чтобы отключить его, добавив:
$qProvider.errorOnUnhandledRejections(false);
Но с этим ситуация еще хуже - у меня нет НИКАКОГО в консоли! Ошибка проглатывается где-то и вообще не регистрируется. Я не уверен, что это проблема с AngularJS 1.6 или с моей конфигурацией.
Есть ли у вас какие-либо идеи о том, как "восстановить" поведение журнала с версии 1.5.9?
EDIT:
Добавление настраиваемого обработчика ошибок:
.factory('$exceptionHandler', function($log) {
  return function(exception, cause) {
    $log.warn(exception, cause);
  };
})
не помогает вообще. В обработчике ошибок я уже получил "завернутую" ошибку.