Spec-Zone.ru › Angular.js 1.4

Улучшить эту документацию Просмотреть исходный код $exceptionHandler

  1. Сервис в модуле 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 при их возникновении завершались ошибкой, а не просто выводились в консоль.

Обратите внимание, что код, выполняемый в обработчиках событий (даже те, которые зарегистрированы с помощью методов jqLite's on/bind) не делегирует исключения в $exceptionHandler (если не выполняются во время обработки).

Если хотите, вы можете вручную делегировать исключения, например try { ... } catch(e) { $exceptionHandler(e); }

Зависимости

  • $log

Использование

$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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API