【发布时间】:2011-03-30 04:11:17
【问题描述】:
在 JavaScript 中,我有一个 var str = ".a long string that contains many lines..."
在eval(str);引起的异常情况下
我想捕获它并打印导致异常的行号。 (str..内部的行)
有可能吗?
EDIT 作为 Alligator 项目 (http://github.com/mrohad/Alligator)(一个 JavaScript 应用服务器)的一部分,我正在从磁盘读取文件并 eval() 任何嵌套到 scriplet( )
我在浏览器之外运行这个脚本,使用 NodeJS(在 V8 之上)。
【问题讨论】:
-
如果不将多行命令拆分为单独的指令和 eval() 调用,完全不确定是否可以做到这一点。
-
一开始就使用“eval”非常难看。也许您可以描述一下您正在尝试做的事情,有人可能会有更好的主意。
-
将 eval 拆分为多行的问题是,例如当你有 if(cond)
-
我认为在 AJAX 时代,有人会想要解决这个问题。我有同样的problem
-
@MrOhad - 查看此 Google V8 问题code.google.com/p/v8/issues/detail?id=1914
标签: javascript exception eval node.js v8