Eval - получить имя? - PullRequest
0 голосов
/ 20 мая 2011

Можно ли дать имя коду, который я выполняю, используя eval?

Когда браузер загружает файл и выполняет его, а затем код выдает исключение, браузер может сказать мне, в каком файлев этой строке произошло исключение.

Я хочу, чтобы он также мог сказать мне, где и в каком коде eval произошло исключение.На нем должно отображаться имя, которое я дал этому коду.

Надеюсь, вы понимаете, чего я хочу.

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 20 мая 2011

Присвойте свое имя локальному var прямо перед выполнением eval, а затем оберните eval в try / catch. В улове у вас будет и имя, и исключение.

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

Вы не можете заставить браузер сказать вам, какая строка в eval'd-коде содержит проблему, так как код обрабатывается как одна отдельная единица, но вы можете записать как имя кода проблемы, так и код проблемы сам, как отмечено выше.

...