Есть ли способ распечатать номер строки файла js в журнале консоли

В целях отладки я обычно использую что-то вроде console.log('line number #').

Не уверен, что это лучший способ справиться с этим, но я думаю, что было бы полезно, если бы я мог просто распечатать номер строки, в которой я помещаю console.log() динамически.

Скажем:

1    //do something
2    if(file){
3        console.log('Line 3');
4        $('#uploads').css({ 'height' : 'auto' });
5    } else { 
6       console.log(getLineNumber());   //just an example
7       $('#tags').val(temp);
8    }

В приведенном выше примере, если я случайно удалю строку 1, строка 3 будет технически неправильной, поскольку номер строки уменьшается на 1, но журнал все равно будет показывать 3. Но в строке 6 предположим, что getLineNumber() возвращает номер строки, тогда он будет иметь смысл даже после удаления строки выше.

Итак, есть ли простой способ, который действует как getLineNumber()?


person ptamzz    schedule 15.02.2012    source источник


Ответы (1)


Для этого вы можете использовать обработчик событий onerror.

См. последний пример на этой странице: http://www.tutorialspoint.com/javascript/javascript_error_handling.htm

Прямая ссылка на пример: http://www.tutorialspoint.com/cgi-bin/practice.cgi?file=javascript_40

person Emir Akaydın    schedule 15.02.2012
comment
Но будут случаи, которые не совсем ошибки. Может быть, я просто хотел бы проверить, прошло ли выполнение скрипта внутри условия if, else или цикла. - person ptamzz; 15.02.2012
comment
Нет чистого решения, но есть обходные пути, подобные этому new Error().lineNumber -> stackoverflow.com/questions/2343343/ - person Emir Akaydın; 15.02.2012