【发布时间】:2016-06-17 20:46:37
【问题描述】:
我正在尝试处理我的错误,但不幸的是我没有成功。
在我的 AngularJS 应用程序“运行”中,我编写了以下代码:
window.onerror = function (msg, url, line, col, error) {
alert('error');
};
$timeout(() => errorrr);
虽然我确实在控制台上看到了错误:
ReferenceError: errorrr 未定义
我没有收到警报...
如果我在应用程序的“运行”之外执行相同的代码,它就可以工作。
为什么/我该如何解决?
编辑 使用角度,我无法到达 $rootScope
angular.module('app').factory('$exceptionHandler', function ($log, $rootScope) {
return function myExceptionHandler(exception, cause) {
$log.error(exception, cause);
$rootScope.errors.push({
exception: exception,
cause: cause
});
};
});
它抛出
找到循环依赖:$rootScope
有没有办法在这个工厂中获取 $rootscope?
【问题讨论】:
-
AngularJs 有自己的错误处理程序。见the documentation for
$exceptionHandler -
@MikeMcCaughan 已编辑,使用了 $exceptionHandler,但我无法从中调用 $rootscope。有什么想法吗?
-
听起来你在问一个不同的问题......我只是注意到为什么
window.onerror没有发现你产生的错误。如果您有新问题,请先在互联网和 Stack Overflow 上搜索答案,然后,如果您没有找到任何答案,请提出新问题。
标签: javascript angularjs