JavaScript?error瀏覽器端錯誤捕獲處理方法筆記解決示例
更新時間:2023年06月05日 14:41:14 作者:specialCoder
這篇文章主要為大家介紹了JavaScript?error瀏覽器端錯誤捕獲處理方法筆記解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
summary
- window.onerror 無法捕獲 onunhandledrejection 錯誤
- try...catch 無法捕獲異步錯誤,包括 setTimeout 和 promise??梢圆东@ async...await 錯誤
- promise 被 rejected,在有 onRejected 的情況下,onRejected 發(fā)揮作用,catch 并未被調用;在沒有onRejected 的情況下 catch 發(fā)揮作用
- onResolve 和 onRejected 里的錯誤,可以被后面的 catch 捕獲,無法被 try...catch 捕獲
other
- try...catch 也無法捕獲語法錯誤
- 如果想使用 window.onerror 函數(shù)消化錯誤,需要顯示返回 true,以保證錯誤不會向上拋出,控制臺也就不會看到一堆錯誤提示。
- 跨域之后 window.onerror 在很多瀏覽器中是無法捕獲異常信息的。要統(tǒng)一返回 Script error,這就需要 script 腳本設置為:
crossorigin="anonymous" - 處理網絡加載錯誤:使用 window.addEventListener('error') 方式對加載異常進行處理。注意這時候我們無法使用 window.onerror 進行處理, 因為 window.onerror 事件是通過事件冒泡獲取 error 信息的,而網絡加載錯誤是不會進行事件冒泡的。
- 怎么區(qū)分網絡資源加載錯誤和其他一般錯誤:普通錯誤的 error 對象中會有一個 error.message 屬性,表示錯誤信息,而資源加載錯誤對應的 error 對象卻沒有,
test code
window.onerror = () => { console.log('window.onerror')} window.onunhandledrejection = () => { console.log('window.onunhandledrejection') } const fetchDataSuccess = () => Promise.resolve({ name:'123'}) const fetchDataFail = () => Promise.reject({ name:'123'}) const testTryCatch = async() =>{ try{ // Promise.reject('reject') // throw Error('err') await fetchDataFail() console.log('fetch success') } catch(e){ console.log('catch error:',e) } } const testPromiseError = () => { try{ new Promise((resolve, reject) => { throw new Error() // resolve({}) }).then( () => { console.log('resolved') // throw Error() }, err => { console.log('rejected') throw err }) // .catch(err => { // console.log('catch') // }) }catch(e){ console.log('testPromiseError try-catch') } } // testTryCatch(); // testPromiseError();
from: https://fe.mbear.top/xing-neng-you-hua/032-xing-neng-jian-kon...
以上就是瀏覽器端錯誤捕獲處理方法筆記解決示例的詳細內容,更多關于瀏覽器端錯誤捕獲的資料請關注腳本之家其它相關文章!
相關文章
JS基于Ajax實現(xiàn)的網頁Loading效果代碼
這篇文章主要介紹了JS基于Ajax實現(xiàn)的網頁Loading效果代碼,通過時間函數(shù)結合數(shù)學運算實現(xiàn)頁面樣式的動態(tài)變換技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10用XMLDOM和ADODB.Stream實現(xiàn)base64編碼解碼實現(xiàn)代碼
用 XMLDOM 和 ADODB.Stream 實現(xiàn)base64編碼解碼實現(xiàn)代碼,需要的朋友可以參考下。2010-11-11小程序開發(fā)?page-container?頁面容器彈出對話框功能的實現(xiàn)
這篇文章主要介紹了小程序開發(fā)?page-container?頁面容器,彈出對話框,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08javascript新建標簽,判斷鍵盤輸入,以及判斷焦點(示例代碼)
這篇文章主要介紹了javascript新建標簽,判斷鍵盤輸入,以及判斷焦點(示例代碼)。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11