JavaScript Error物件整理_JavaScript 異常處理整理
阿新 • • 發佈:2020-11-21
一、Error概念
JavaScript 異常處理機制 跟 C#語言的處理機制邏輯相同。
error,指程式中的非正常執行狀態,在其他程式語言中稱為“異常”或“錯誤”。直譯器會為每個錯誤情形建立並丟擲一個Error物件,其中包含錯誤的描述資訊。
ECMAScript定義了六種型別的錯誤。除此之外,還可以使用Error構造方法建立自定義的Error物件,並使用throw語句丟擲該物件。
六種錯誤:
- ReferenceError:找不到物件時
- TypeError:錯誤的使用了型別或物件的方法時
- RangeError:使用內建物件的方法時,引數超範圍
- SyntaxError:語法寫錯了
- EvalError:錯誤的使用了Eval
- URIError:URI錯誤
二、 Error 物件
Error物件是在錯誤發生時,體用的錯誤的提示資訊。
var error=new Error('測試'); throw error;
屬性 | 描述 |
---|---|
name | 設定或返回一個錯誤名 |
message | 設定或返回一個錯誤資訊(字串) |
stack | 異常位置的棧堆資訊,錯誤的詳細位置 |
非標準的Error物件屬性:
fileName (Mozilla)
lineNumber (Mozilla)
columnNumber (Mozilla)
stack (Mozilla)
description (Microsoft)
number (Microsoft)
三、 Error使用
try語句測試程式碼塊的錯誤。
catch語句處理錯誤。
throw語句建立自定義錯誤。
finally語句在 try 和 catch 語句之後,無論是否有觸發異常,該語句都會執行。
即使程式發生錯誤,也保證不異常中斷的機制。
try{ 可能發生錯誤的程式碼 }catch(err){ 只有發生錯誤時才執行的程式碼 }finally{ 無論是否出錯,肯定都要執行的程式碼 }
試用案例:
<script> try { var error=new Error('測試');throw error; } catch (error) { console.log(error+'不錯哦'); //異常名稱 console.info(error.name); //錯誤描述 console.info(error.message); //錯誤上下文 console.info(error.stack); } </script>
更多: