UPDATE
[Переписывая вопрос, чтобы сосредоточиться на проблеме, которую я пытаюсь понять.]
Есть ли в JavaScript средство для выдачи исключений, уведомляющих номер строки, где возникает проблема? Подобно отладчику C #, если в строке 50 выдается ошибка, я перейду к строке 50.
Например, согласно MDN EvalError
представляет ошибку с eval()
. Итак, допустим, у меня есть функция, которая использует eval()
. Я хочу использовать конкретную ошибку, характерную для рассматриваемой проблемы, EvalError
:
//As written here the error implies there is a problem on this line. See Firebug console window
var evalErra = new EvalError('required element missing from evaluation');
var stringFunc = "a=2;y=3;document.write(x*y);";
EvalString(stringFunc);
function EvalString(stringObject) {
//Some arbitrary check, for arguments sake let's say checking for 'x' makes this eval() valid.
if(stringObject.indexOf('x') !== -1) {
throw evalErra;
//throw 'required element missing from evaluation';//This way offers no line number
}
eval(stringFunc);//The problem really lies in the context of this function.
}
Если я все делаю неправильно, то, пожалуйста, скажите мне, как мне следует подходить к таким вопросам.