您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript捕獲異常有哪些方法”,在日常操作中,相信很多人在javascript捕獲異常有哪些方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript捕獲異常有哪些方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
方法:1、使用try catch finally語句,語法“try{//調試代碼塊}catch(e) {//捕獲處理異常}finally{//后期清理代碼塊}”;2、使用窗口對象window的onerror事件。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
JavaScript
的異常主要使用try catch finally
語句以及窗口對象window
的onerror
事件來捕獲。
try catch finally
try catch finally
只能捕獲運行時的錯誤,無法捕獲語法錯誤,可以拿到出錯的信息,堆棧,出錯的文件、行號、列號。try catch finally
語句標記要嘗試的語句塊,并指定一個出現異常時拋出的響應。
try{ // try_statements throw new TypeError("Test"); }catch (e){ // catch_statements console.log("catch_statements"); if(e instanceof TypeError){ // handle this expected error console.log("handle this expected error"); }else{ // handle unexpected error console.log("handle unexpected error"); } }finally{ // finally_statements console.log("finally_statements"); } /* 注: [catch (e if e instanceof TypeError) { // 非標準 catch_statements }] */
通過Error
的構造器可以創建一個錯誤對象,當運行時錯誤產生時,Error
的實例對象會被拋出,Error
對象也可用于用戶自定義的異常的基礎對象,Js
內建了幾種標準錯誤類型:
EvalError
: 創建一個error
實例,表示錯誤的原因:與eval()
有關。
RangeError
: 創建一個error
實例,表示錯誤的原因:數值變量或參數超出其有效范圍。
ReferenceError
: 創建一個error
實例,表示錯誤的原因:無效引用。
SyntaxError
: 創建一個error
實例,表示錯誤的原因:eval()
在解析代碼的過程中發生的語法錯誤。
TypeError
: 創建一個error
實例,表示錯誤的原因:變量或參數不屬于有效類型。
URIError
: 創建一個error
實例,表示錯誤的原因:給encodeURI()
或decodeURl()
傳遞的參數無效。
window.onerror
window.onerror
可以捕捉語法錯誤,也可以捕捉運行時錯誤,可以拿到出錯的信息,堆棧,出錯的文件、行號、列號,只要在當前window
執行的Js
腳本出錯都會捕捉到,通過window.onerror
可以實現前端的錯誤監控。出于安全方面的考慮,當加載自不同域的腳本中發生語法錯誤時,語法錯誤的細節將不會報告。
/* message:錯誤信息(字符串)。 source:發生錯誤的腳本URL(字符串) lineno:發生錯誤的行號(數字) colno:發生錯誤的列號(數字) error:Error對象(對象) 若該函數返回true,則阻止執行默認事件處理函數。 */ window.onerror = function(message, source, lineno, colno, error) { // onerror_statements } /* ErrorEvent類型的event包含有關事件和錯誤的所有信息。 */ window.addEventListener('error', function(event) { // onerror_statements })
到此,關于“javascript捕獲異常有哪些方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。