在 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/