Обработка исключений JavaScript - отображение номера строки

StackOverflow https://stackoverflow.com/questions/1901012

Вопрос

При перехвате / обработке исключений в JavaScript, как я могу определить, каким был стек вызовов, когда возникло исключение?(а также, если возможно, какой был номер строки)

try
{
    // etc...
}
catch (ex)
{
    // At this point here I want to be able to print out a detailed exception 
    // message, complete with call stack, and if possible line numbers.
}
Это было полезно?

Решение

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

Если вы хотите отладить одну конкретную функцию, Поджигатель имеет хорошую функцию трассировки стека (vis console.trace()).

Другие советы

Взгляните на это.

Способ анализа имеющейся информации:

try 
{ 
    doInit(); 
} catch(err) 
{ 
    var vDebug = ""; 
    for (var prop in err) 
    {  
       vDebug += "property: "+ prop+ " value: ["+ err[prop]+ "]\n"; 
    } 
    vDebug += "toString(): " + " value: [" + err.toString() + "]"; 
    status.rawValue = vDebug; 
}

Я обнаружил, что в JavaScript, работающем под управлением IE, невозможно захватить трассировку стека в момент перехвата исключения.Согласно это PDF единственный способ получить трассировку стека в IE - это если вы не обрабатываете исключение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top