JavaScript 评估错误

标签 javascript

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/

相关文章:

javascript - 触发嵌套在 AJAX 页面中的多个 javascript

javascript - 如果没有结果,如何禁用 jquery ajax- 自动完成?

javascript - 为什么 AngularJS $onChanges 没有注意到数组发生了变化?

javascript - PHP/Ajax 联系表单重定向到 PHP 文件

javascript - 即使违反了质量门,SonarQube 也不会破坏 Jenkins 的构建

javascript - 为什么 CoffeScript 不是 "reusing"循环变量?

javascript - Postman预请求脚本: Can't access header from response

javascript - API 数据和变量未定义

javascript - 在迷宫墙上停止角色 Javascript

javascript - 事件监听器按键问题