Din*_*ler 35 google-chrome window onerror
我想在我的网站上添加一个onerror事件.
window.onerror = function() {
alert("an error");
}
Run Code Online (Sandbox Code Playgroud)
但我得到的只是:
notThere();
ReferenceError: notThere is not defined
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
浏览器:Chrome 26.0.1410.64米
重现步骤:
wrs*_*der 50
控制台直接生成错误时,不会触发window.onerror.它可以通过setTimeout,例如,setTimeout(function() { notThere(); }, 0);
可能重复:Chrome:从开发控制台调用的代码中的错误是否会触发window.onerror?
Lac*_*zar 33
window.onerrorChrome中的作品(参见jsfiddle - http://jsfiddle.net/PWSDF/),但显然不在控制台中 - 这是有道理的.
NoO*_*One 22
您可能无法处理错误的其他一些原因window.onerror(除了上面提到的):
window.onerror在你之后.如果您使用的是Angular,则错误不会通过window.onerror.你必须使用这个工厂处理它们:
.factory('$exceptionHandler', function() {
return function errorCatcherHandler(exception, cause) {
console.error(exception);
if (window.OnClientError) window.OnClientError(exception);
};
})
Run Code Online (Sandbox Code Playgroud)看到:
https://docs.angularjs.org/api/ng/service/ $ exceptionHandler
http://bahmutov.calepin.co/catch-all-errors-in-angular-app.html
| 归档时间: |
|
| 查看次数: |
21530 次 |
| 最近记录: |