评估 - 得到名字?

时间:2011-05-20 15:56:56

标签: javascript eval

是否可以为使用eval执行的代码命名?

当浏览器加载文件并执行它,然后代码抛出异常时,浏览器可以告诉我发生异常的行在哪个文件中。

我希望它也可以告诉我发生异常的eval ed代码的位置和位置。它应该显示我给这个代码的名称。

希望你明白我的意思。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在执行eval之前将您的名称分配给本地var,然后将eval包装在try / catch中。在catch中,你将拥有名称和例外。

function evalCode(name, code) {
  try {
    eval(code);
  } catch (e) {
    console.log('Error in ' + name + ':');
    console.log(code);
    throw e;
  }
}

您无法让浏览器告诉您eval'd代码中的哪一行包含问题,因为代码被视为一个不同的单元,但您可以记录问题代码的名称和问题代码如上所述。