gpt4 book ai didi

javascript - 是否有任何非致命的 javascript 错误可以用于测试..?

转载 作者:行者123 更新时间:2023-11-28 11:39:32 24 4
gpt4 key购买 nike

我正在使用 window.onerror 和 window.onbeforeunload 来传递 AJAX 用户 session 中遇到的所有错误,我正在尝试测试它,并且我需要创建一些 javascript 错误来测试它是否捕获我尝试过类似 var a = b; 的方法(其中 b 不存在)问题是这些错误似乎是致命的并停止任何进一步的处理...

有人能想出一种在不停止脚本处理的情况下引发一些错误的好方法吗?

ErrorManager: (function () {
function Init(message) {
InitErrorHandler();
InitAjaxHandler();


}
function InitErrorHandler() {
Data.ErrorHandlerText = "";
Data.ErrorHandlerCount = 0;
window.onerror = function(errorMessage, url, line) {
Data.ErrorHandlerText +"Error: "+(Data.ErrorHandlerCount+1)+" \n\n";
//Get error specific info
Data.ErrorHandlerText += escape(errorMessage) + "\n";
Data.ErrorHandlerText += escape(url) + "\n";
Data.ErrorHandlerText += escape(line) + "\n";
Data.ErrorHandlerCount++;
}
}
function InitAjaxHandler() {
window.onbeforeunload = function() { //when browser closed
if(Data.ErrorHandlerCount > 0) {
SendErrorsToAjax();
}
}
}
function SendErrorsToAjax() {
PrepareErrorsForAjax();
$.getJSON(Interface.PrefixUrl('/sendjserrors/'+Data.ErrorHandlerText), AjaxCallback);
}
function AjaxCallback(response) {
console.log('response of js error ajax request '+response);
}
function PrepareErrorsForAjax() {
var preText = "A user has encountered a few errors: \n\n";
//Get session info
var userAgent, activePageID;
userAgent = escape(navigator.userAgent);
preText += "User agent: "+userAgent+" \n";
if($.mobile.activePage != null) {
activePageID = $.mobile.activePage.attr('id');
preText += "Page ID: "+activePageID+" \n";
}

preText += "\n The following errors were encountered:\n\n";
Data.ErrorHandlerText = preText + Data.ErrorHandlerText;
}
return {
Init: Init,
SendErrorsToAjax: SendErrorsToAjax
}
})(),

最佳答案

在 JavaScript 中,所有错误都被视为 fatal error 。当前代码块( <script> 标记或外部文件)将退出,页面从 </script> 继续。标签开始。

我不确定是否 try...catch block 将触发 onerror不过。

关于javascript - 是否有任何非致命的 javascript 错误可以用于测试..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com