2013-03-20 73 views
3

我試圖在生產服務器中調試emberjs和ember-data應用程序。我正在監聽window.onerror,所以當某些事情中斷時,我得到了回調,在那裏我可以出現錯誤信息,行號和文件。但是window.onerror在不同的瀏覽器中行爲不一樣。它也不提供堆棧跟蹤在生產模式下獲取堆棧跟蹤Ember應用程序

所以我使用下面的函數來包裝的燼邊界函數,所以我可以得到完整的堆棧跟蹤。

function tryCatchWrapper (func, name) { 

    // Else wrap the function and return it 
    function wrapped() { 
    try { 
     return func.apply(this, arguments); 
    } catch (e) { 
     // Report the errors 
     console.log((name ? name + ": " : "") + e.message); 
     // Get stacktrace 
     throw e; 
    } 
    } 
    return wrapped; 
}; 

那麼所有的功能我可以包裝使用上述功能,以獲取有關所有的錯誤在不影響任何應用程序發生信息?

UPDATE

新增JS Fiddle

回答

0

爲什麼不使用Ember.onerror事件?

CFR this answer

+0

我添加了一個jsfidle,使用onerror亙古不適合所有的情況下工作。其中一種情況可以在小提琴中重現。 – 2013-03-21 22:10:39

相關問題