我有興趣監控javascript錯誤並記錄錯誤與調用堆棧。監控js錯誤
我不想把所有東西都包裝在try-catch塊中。
根據這篇文章http://blog.errorception.com/2011/12/call-stacks-in-ie.html 它裏面window.onerror可能「遞歸調用.caller每個功能在堆棧中知道先前的功能在堆棧」
我試圖讓調用堆棧:
window.onerror = function(errorMsg, url, lineNumber)
{
var stk = [], clr = arguments.callee.caller;
while(clr)
{
stk.push("" + clr);
clr = clr.caller;
}
// Logging stk
send_callstack_to_log(stk);
}
,但只有一個步驟是可能的,即使調用堆棧是更長的時間:
(function()
{
function inside() {it.will.be.exception;};
function middle() {inside()};
function outside() {middle()}
outside();
})();
有一點是沒有意思的,因爲錯誤論據給了我更多關於它的信息。
是的,我根據我上面提到的文章嘗試了IE瀏覽器。
備註:我也嘗試在「ERRORCAEPTION」上打開一個帳戶來收集錯誤日誌。我使用IE進行了測試,「ERRORCAEPTION」認識到錯誤來自IE,但我無法在日誌中找到任何調用堆棧信息。
你可以看看[stacktrace.js(https://github.com/eriwen/javascript-stacktrace)。這是一個跨瀏覽器的解決方案。 – zeroflagL 2013-03-17 14:17:38