try {
eval(somejavascript);
} catch(e) {
console.log(e);
}
给我运行时错误,例如
TypeError: Cannot call method 'leftPad' of undefined
是否有可能调试此错误,即获取计算表达式中发生错误的字符位置/行号以及一些堆栈?
我从 chrome 获得的堆栈在 eval 处结束。
事实上,我无法将示例 javascript 代码放入文件中进行调试 - 如果我将代码放入文件中并将该文件包含在 html 文档中,则不会发生运行时错误。
最佳答案
我认为您的问题更多的是关于调试问题而不是解决方案。
如果是这样,只需将代码包装在 try-catch 语句中(仅用于调试!):
var jscode = 'function baz() { var foo; foo.leftPad(); } baz();';
eval('try { ' + jscode + ' } catch(err) { console.log(err.stack); }');
你可以测试一下here .
关于JavaScript 评估错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22221131/