$httpMinErrLegacyFn = function(method) {
  return function() {
    throw $httpMinErr('legacy', 'The method `{0}` on the promise returned from `$http` has been disabled.', method);
  };
}
@ngdoc service
@name $exceptionHandler
@requires ng.$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:

```js
  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.

<hr />
Note, that code executed in event-listeners (even those registered using jqLite's `on`/`bind`
methods) does not delegate exceptions to the {@link ng.$exceptionHandler $exceptionHandler}
(unless executed during a digest).

If you wish, you can manually delegate exceptions, e.g.
`try { ... } catch(e) { $exceptionHandler(e); }`

@param {Error} exception Exception associated with the error.
@param {string=} cause optional information about the context in which
      the error was thrown.