$q: Unhandled rejections should not be stringified #14631
Description
Note: for support questions, please use one of these channels: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question. This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Unhandled rejections are converted to a string prior to being passed to $exceptionHandler
. Also, errors aren't correctly stringified either.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
http://jsfiddle.net/rogqp47y/28/
What is the expected behavior?
The value that the promise was rejected with should be passed to $exceptionHandler
What is the motivation / use case for changing the behavior?
An unhandled rejection should be treated no differently than an unhandled exception - if I throw an uncaught error, I expect to catch that in the global $exceptionHandler, not a string representing the error. The default implementation of $exceptionHandler
that logs to the console should handle the stringification.
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
Git / Nightly (Future 1.6)
Other information (e.g. stacktraces, related issues, suggestions how to fix)