Получить номер строки ошибки в JScript, запущенном в Windows Script Host - PullRequest
4 голосов
/ 18 сентября 2011

Скажем, у меня есть следующий код, который я запускаю как файл .JS с помощью Windows Script Host:

try
{
    ProduceAnError();
}
catch(e)
{
    //How to get an error line here?
}

Есть ли способ узнать строку ошибки, где произошла ошибка (исключение)?

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

Извините за мой другой ответ. Это было не очень полезно: P

Я считаю, что вы ищете это свойство стека ReferenceError. Вы можете получить к нему доступ с помощью аргумента, передаваемого в catch:

try {
  someUndefinedFunction("test");
} catch(e) {
  console.log(e.stack)
}

пример вывода:

 ReferenceError: someUndefinedFunction is not defined
     at message (http://example.com/example.html:4:3)
     at <error: TypeError: Accessing selectionEnd on an input element that cannot have a selection.>
     at HTMLInputElement.onclick (http://example.com/example.html:25:4)
0 голосов
/ 28 мая 2014

На самом деле нет способа получить стек или даже поймать номер строки программно.При появлении ошибки можно увидеть только номер строки.В лучшем случае вы можете получить код ошибки и описание или свои собственные ошибки.

Вот документация .

И пример

try {
    produceAnError();
} catch(e) {
    WScript.echo((e.number>>16 & 0x1FFF)); // Prints Facility Code
    WScript.echo((e.number & 0xFFFF));     // Prints Error Code
    WScript.echo(e.description);           // Prints Description
    throw e;
}
...