javascript - Window.onerror 不返回有关错误的信息

标签 javascript jquery error-handling

我正在尝试创建一个自定义错误处理程序。我有以下代码来拦截错误:

window.onerror = function (msg, url, lineNo, columnNo, error) {
            console.log("msg: " + msg + "url: " + url + "lineNo: " + lineNo + "columnNo: " + columnNo);
}

然后在代码中我尝试 console.log 一个不存在的变量(以便触发错误)。在控制台中我得到了自定义:

msg: Script error.url: lineNo: 0columnNo: 0

下面是默认值:

myjsfile.js:517 Uncaught ReferenceError: xyz is not defined(…)

如何访问此信息(文件名、行号、错误消息)并将其添加到我的自定义消息中?谢谢!

最佳答案

你真的应该使用 try-catch https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch

在尝试中使用所有变量创建对象并抛出它

try {         
    throw your_obj;
}  

catch(e)
{
    console.log(e); //will print whatever you made "your_obj" to be
}

关于javascript - Window.onerror 不返回有关错误的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40398552/

相关文章:

javascript - jQuery 更改 <img> 标签的来源

javascript - DIV 事件状态 - 样式更改

php - 我可以在 PHP 中等待 js 进程后再继续吗?

python - 在点距条件下选择行

vba - 主键违规会触发警告,但不会触发错误处理程序

javascript - 当存在超过 9 个相同脚本时,由于脚本原因,页面加载需要时间

javascript - TinyMCE 中的 gecko_spellcheck 问题

jquery - 为什么我的 jQuery UI 对话框完成打开效果后会失去焦点?

javascript - EJS 和 jquery 不加载 javascript 引用

java - 为什么 "catch" block 一定需要异常类型?