atitit.js浏览器环境下的全局异常捕获
?
?
?
?
?
atitit.js瀏覽器環境下的全局異常捕獲
?
?
?window.onerror = function(errorMessage, scriptURI, lineNumber) {
?
var s=?JSON.stringify(arguments); alert(s);
?//alert(errorMessage
?//message: errorMessage,
?//script: scriptURI,
?//line: lineNumber
?
}
?
不同的瀏覽器對onerror的實現不同,手機和pc不同,參數定義都不同。參數數量。所以使用json比較好。。
window.onerror
對于 try-catch?覆蓋不到的地方,如果出現異常就只能通過 window.onerror?來捕獲了。
window.onerror =
?function(errorMessage, scriptURI, lineNumber) {
?reportError({
?message: errorMessage,
?script: scriptURI,
?line: lineNumber
?});
}
注意不要耍小聰明使用 window.addEventListener?或 window.attachEvent?的形式去監聽 window.onerror。很多瀏覽器只實現了 window.onerror,或者是只有 window.onerror?的實現是標準的。考慮到標準草案定義的也是 window.onerror,我們使用 window.onerror?就好了。
屬性丟失?
假設我們有一個 reportError?函數用來收集捕獲到的異常,然后批量發送到服務器端存儲以便查詢分析,那么我們會想要收集哪些信息呢?比較有用的信息包括:錯誤類型(name)、錯誤消息(message)、腳本文件地址(script)、行號(line)、列號(column)、堆棧跟蹤(stack)。如果一個異常是通過 try-catch?捕獲到的,這些信息都在 Error?對象上(主流瀏覽器都支持),所以 reportError?也能收集到這些信息。但如果是通過 window.onerror?捕獲到的,我們都知道這個事件函數只有 3 個參數,所以這 3 個參數意外的信息就丟失了。
?
?
JS高級調試技巧:捕獲和分析 JavaScript Error詳解_javascript技巧_腳本之家.htm
JS高級調試技巧:捕獲和分析 JavaScript Error詳解_javascript技巧_腳本之家.htm
Json對象與Json字符串互轉(4種轉換方式)_json_腳本之家.htm
?
作者::?綽號:老哇的爪子?(?全名::Attilax?Akbar?Al?Rapanui?阿提拉克斯?阿克巴?阿爾?拉帕努伊?)?
漢字名:艾提拉(艾龍),???EMAIL:1466519819@qq.com
轉載請注明來源:?http://www.cnblogs.com/attilax/
atiend
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的atitit.js浏览器环境下的全局异常捕获的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web前端开发必备:《Jquery实战》
- 下一篇: 为什么站点实现了https加密之后还是能