mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 15:40:22 +00:00
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
/**
|
|
* @ngdoc function
|
|
* @name ng.$exceptionHandler
|
|
* @requires $log
|
|
*
|
|
* @description
|
|
* 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
|
|
* {@link ngMock.$exceptionHandler mock $exceptionHandler} which aids in testing.
|
|
*
|
|
* ## Example:
|
|
*
|
|
* <pre>
|
|
* angular.module('exceptionOverride', []).factory('$exceptionHandler', function () {
|
|
* return function (exception, cause) {
|
|
* exception.message += ' (caused by "' + cause + '")';
|
|
* throw exception;
|
|
* };
|
|
* });
|
|
* </pre>
|
|
*
|
|
* 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.
|
|
*
|
|
* @param {Error} exception Exception associated with the error.
|
|
* @param {string=} cause optional information about the context in which
|
|
* the error was thrown.
|
|
*
|
|
*/
|
|
function $ExceptionHandlerProvider() {
|
|
this.$get = ['$log', function($log) {
|
|
return function(exception, cause) {
|
|
$log.error.apply($log, arguments);
|
|
};
|
|
}];
|
|
}
|