有沒有人有任何想法如何對懶加載的JavaScript錯誤處理?我使用的方法是調用ajax請求,並在全局範圍內評估代碼。當運行時錯誤被觸發時,它會將文件名作爲我的延遲加載腳本進行處理,並且行號是錯誤行加上我的加載腳本中的eval的行號。除了所有的javascript文件被合併到網站的各個模塊之外,這不會那麼糟糕。嘗試抓住JavaScript文件本身不會捕獲函數的運行時錯誤。有任何想法嗎? Window.onerror不提供正確的文件名,所以它是不可能的。我需要在它被擊中之前抓住它。延遲加載的JavaScript運行時錯誤處理?
我在想也許我可以通過編程的方式在eval'd代碼中包含所有函數的嘗試捕獲(這很醜陋),但是由於它是在窗口級別完成的,我不確定如何訪問eval'd代碼具體和動態。當然,如果javascript是一個名爲「Bob」的對象,我可以訪問window.Bob,但我需要動態地執行它。
也許我錯過了一些東西,但爲什麼你的JavaScript會拋出運行時錯誤?即使是這樣,在調用函數之前,您不能驗證函數參數嗎?看起來好像處理運行時錯誤的最佳方法是不允許它們發生。 – Sparafusile 2010-09-08 18:34:34
這並不是說有運行時錯誤,而是在出現一個錯誤時,我想指定出於調試目的而拋出的內容。錯誤錯誤地表明加載腳本是問題。我正在計算正確的文件名/行號。 – g3k0 2010-09-08 19:20:27