Я нашел способ обработки исключенных исключений в angularjs
с помощью предопределенного сервиса $exceptionHandler
. Согласно документу, я делегирую исключения вручную, используя try {...}
- catch(e)
. Смотри ниже
try {
$scope.loadImage();
}catch (e){
console.log(e);
}
Он работает отлично, но я очень хочу знать, как я мог бы обрабатывать исключенные исключения в угловом режиме? Кто-нибудь может поделиться рабочим примером?
Это объясняется в API.
angular.module('exceptionOverride', []).factory('$exceptionHandler', function() { return function(exception, cause) { exception.message += ' (caused by "' + cause + '")'; throw exception; }; });
Этот пример переопределит нормальное действие
$exceptionHandler
, чтобы исключить угловые исключения, если они произойдут, а не просто войти в консоль.Обратите внимание, что код, выполняемый в прослушивателях событий (даже тех, которые зарегистрированы с использованием методов jqLite on/bind) не делегирует исключения в
$exceptionHandler
(если не выполняется во время дайджеста). Если хотите, вы можете вручную делегировать исключения, напримерtry {... } catch(e) { $exceptionHandler(e); }
try {... } catch(e) { $exceptionHandler(e); }