Any uncaught exception in angular expressions is delegated to this service. The default implementation simply delegates to $log.error
which logs it into the browser console.
In unit tests, if angular-mocks.js
is loaded, this service is overridden by mock $exceptionHandler which aids in testing.
angular.module('exceptionOverride', []).factory('$exceptionHandler', function() { return function(exception, cause) { exception.message += ' (caused by "' + cause + '")'; throw exception; }; });
This example will override the normal action of $exceptionHandler
, to make angular exceptions fail hard when they happen, instead of just logging to the console.
on
/bind
methods) does not delegate exceptions to the $exceptionHandler (unless executed during a digest). If you wish, you can manually delegate exceptions, e.g. try { ... } catch(e) { $exceptionHandler(e); }
$exceptionHandler(exception, [cause]);
Param | Type | Details |
---|---|---|
exception | Error | Exception associated with the error. |
cause (optional) | string | optional information about the context in which the error was thrown. |
© 2010–2016 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/service/$exceptionHandler