Javascript eval() 异常 - 行号

标签 javascript exception eval node.js v8

在 JavaScript 中,我有一个 var str = ".a long string that contains many lines..." eval(str);

引起的异常

我想捕获它并打印导致异常的行号。 (str..内部的行)

有可能吗?

编辑 作为 Alligator 项目 ( http://github.com/mrohad/Alligator ) 的一部分,一个 JavaScript 应用服务器,我正在从磁盘读取文件并 eval() 任何嵌套到 scriplet( < ? ? > )

我在浏览器之外运行这个脚本,使用 NodeJS(在 V8 之上)。

最佳答案

尝试将 try/catch 添加到字符串中,而不是在 eval 周围:

var code = 'try{\nvar c = thisFuncIsNotDefined();\n}catch(e){alert(e.lineNumber);}';

关于Javascript eval() 异常 - 行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488994/

相关文章:

python - 在 Python 中将 boolean 表达式计算为字符串的更快方法

javascript - 删除 jquery 类时出现问题

javascript - 使用 forEach 访问数组内的对象值?

c# - 在 C# 中捕获 native C++ 异常

Python单元测试断言引发错误

c# - 如何使用显式构造的任务处理异常

php - 将数组存储在字符串中并稍后传递给 eval()

javascript - 包括带有 html 和 node.js 的 js 文件

javascript - 单击按钮打开隐藏的位置图仅适用于第一个

javascript - 固定位置直到滚动