Я создаю что-то, что включает javascripts на лету асинхронно, и это работает, но я стараюсь улучшить обнаружение ошибок (так что все ошибки не просто появляются из некоторой строки рядом с вызовом AJAX, тянет их вниз.
Если я использую eval для оценки многострочного файла javascript, есть ли способ отслеживать, на какой строке происходит ошибка?
Сохраняя ссылки на переменные, которые мне нужны при включении, у меня нет проблем с определением, в каком файле происходят ошибки. Моя проблема заключается в определении, в какой строке возникает ошибка.
Пример:
try {
eval("var valid_statement = 7; \n invalid_statement())))");
} catch(e) {
var err = new Error();
err.message = 'Error in Evald Script: ' + e.message;
err.lineNumber = ???
throw err;
}
Как я могу сказать, что ошибка произошла во второй строке? В частности, я заинтересован в том, чтобы сделать это в Firefox.
Я знаю, что объекты ошибок имеют e.stack
в браузерах Mozilla, но вывод, похоже, не правильно учитывает новые строки.