window.onerror not working in chrome
我正在尝试向我的网站添加onerror事件。
1 2 3 | window.onerror = function() { alert("an error"); } |
但是我收到的是:
1 2 | notThere(); ReferenceError: notThere is not defined |
我想念什么?
浏览器:Chrome 26.0.1410.64 m
复制步骤:
- 将代码添加到控制台。
- 将notThere()添加到控制台
当控制台直接生成错误时,不会触发
window.onerror。它可以通过
可能的重复项:Chrome:从开发者控制台调用的代码中的错误会触发window.onerror吗?
您可能无法处理
-
另一个库在您之后设置
window.onerror 。 -
如果您使用的是Angular,则错误不会通过
window.onerror 传递。您必须使用以下工厂来处理它们:1
2
3
4
5
6.factory('$exceptionHandler', function() {
return function errorCatcherHandler(exception, cause) {
console.error(exception);
if (window.OnClientError) window.OnClientError(exception);
};
})
请参阅:
https://docs.angularjs.org/api/ng/service/$exceptionHandler
http://bahmutov.calepin.co/catch-all-errors-in-angular-app.html