JavaScript中的ERROR對象技術詳解

一、錯誤處理基本概念

  • 錯誤,指程序中的非正常問題,在程序執行過程中,可能發生也可能不發生的問題,稱爲“錯誤”或者“異常”。
  • 解釋器會爲每一個錯誤創建一個ERROR對象
  • 若程序沒有錯誤發生,則正常執行至結束
  • 發生錯誤時,不處理會終止程序的執行,處理錯誤繼續執行。

二、錯誤處理語法結構

try{
    //可能拋出錯誤對象的語句
}
catch(用於接收錯誤對象的變量名){
    //處理語句
}
[finally{
    //不論錯誤發生與否都要執行的掃尾語句
}]

三、ES中預定義的ERROR對象(常見面試)

  • ERROR 廣泛意義上的錯誤
  • SyntaxError 語法錯誤
  • ReferenceError 引用錯誤
  • TypeError 類型錯誤
  • EvalError eval()函數執行錯誤
  • RangeError 範圍錯誤
  • URIError URI解析錯誤

四、ERROR對象常用屬性與方法

  • message 封裝異常的描述信息
  • name 封裝異常的類型名稱
  • stack 非標準屬性。返回錯誤或異常的代碼跟蹤信息,Firefox、chrome、IE10+支持
  • toString() 返回包含相關錯誤信息的字符串

面試重點:
語句寫在finally和外面的區別:

  • 如果try裏面有return,放在finally裏面會執行,放在外面不會執行。

這裏寫圖片描述

五、舉例說明ERROR對象的使用
ATM取款程序中,錯誤處理的使用

var balance = 1000;

function withdraw() {
    console.log("歡迎使用");
    console.log("請插入銀行卡");
    try {
        var num = prompt("請輸入要取款的金額");
        num = Number(num);
        if(isNaN(num)) {
            var e1 = new Error("輸入金額不是數字");
            throw e1;
        }
        //捕捉其他異常
        balance -= num;
        console.log("取款成功,餘額:" + balance);

    } catch(err) {
        console.log(err.message);
    } finally {
        console.log("請取卡");
    }
    console.log("謝謝使用!");
}
發佈了70 篇原創文章 · 獲贊 19 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章