gpt4 book ai didi

javascript - js异常位置

转载 作者:行者123 更新时间:2023-12-02 19:07:40 28 4
gpt4 key购买 nike

对于这样的 JavaScript 代码:

try {
MyJob.process();
} catch(e) {
console.log("Exception occur!");
}

我在Chrome或FireFox中运行代码,当异常发生时,行号为“异常发生!”将显示在控制台中,但 MyJob 中的原始异常将不存在。是否有任何解决方案可以显示异常发生的原始位置并保留我在这里编写的 try-catch?

最佳答案

window.onerror = function ( msg, url, num ) {
alert ( "Error: " + msg + "\nURL: " + url + "\nLine: " + num );
return true;
};

这将显示大部分错误。

在 catch block 中添加:

catch(e) {
console.log( e.name + ": " + e.message );
}

有关错误处理的更多信息,请访问 JavaScriptkit

如果 try/catch block 位于函数内部,您可以利用 arguments.callee mdn msdn

function foo() {
try {
someFunction();
}
catch (e) {
var f = arguments.callee.toString().substr ( "function ".length);
f = f.substr(0, f.indexOf('('));
alert ( "Error type : " + e.name + "\nError : " + e.message + "\nIn function : " + f );
}
}

结果将是:

Error type : ReferenceError
Error : someFunction is not defined
In function : foo

关于javascript - js异常位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14169123/

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