Улучшить эту документацию Просмотреть исходный код $exceptionHandler
- Сервис в модуле ng
Любое неперехваченное исключение в выражениях Angular делегируется этому сервису. Стандартная реализация просто делегирует его $log.error, который записывает его в консоль браузера.
В модульных тестах, если angular-mocks.js загружен, этот сервис переопределяется мока $exceptionHandler, что помогает при тестировании.
Пример:
angular.module('exceptionOverride', []).factory('$exceptionHandler', function() {
return function(exception, cause) {
exception.message += ' (caused by "' + cause + '")';
throw exception;
};
});
Этот пример переопределит обычное действие $exceptionHandler, чтобы ошибки Angular при их возникновении завершались ошибкой, а не просто выводились в консоль.
on/bind) не делегирует исключения в $exceptionHandler (если не выполняются во время обработки). Если хотите, вы можете вручную делегировать исключения, например try { ... } catch(e) { $exceptionHandler(e); }
Зависимости
Использование
$exceptionHandler(exception, [cause]);
Аргументы
| Параметр | Тип | Подробности |
|---|---|---|
| исключение | Error | Исключение, связанное с ошибкой. |
| причина (необязательно) | string | Дополнительная информация о контексте, в котором произошла ошибка. |
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/service/$exceptionHandler