Improve this Doc View Source $exceptionHandler
- service in module ng
 
Overview
Any uncaught exception in AngularJS 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.
Example:
The example below will overwrite the default $exceptionHandler in order to (a) log uncaught errors to the backend for later inspection by the developers and (b) to use $log.warn() instead of $log.error().
angular.
  module('exceptionOverwrite', []).
  factory('$exceptionHandler', ['$log', 'logErrorsToBackend', function($log, logErrorsToBackend) {
    return function myExceptionHandler(exception, cause) {
      logErrorsToBackend(exception, cause);
      $log.warn(exception, cause);
    };
  }]);
  Note, that code executed in event-listeners (even those registered using jqLite's 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); }
Dependencies
Usage
$exceptionHandler(exception, [cause]);
Arguments
| 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–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
    https://code.angularjs.org/1.7.8/docs/api/ng/service/$exceptionHandler