其實寫程式最怕的不是報錯,而是找不到錯在哪><
今天要學的就是 —— 讓錯誤變得可預期、可掌握、可修正。
今日的目標:
try {
console.log('開始執行');
let result = JSON.parse('這不是 JSON');
console.log('這行不會執行到');
} catch (err) {
console.log('出錯了:', err.message);
} finally {
console.log('不管有沒有錯,我都會執行');
}
有時候不是程式壞掉,而是輸入資料不合理。
function setAge(age) {
if (age < 0) {
throw new Error('年齡不能是負的');
}
console.log('年齡設定成功');
}
這樣就能「主動丟出錯誤」,讓程式中止,提醒使用者輸入有問題。
Chrome DevTools 除錯入門
在網頁上 按右鍵 → 檢查,然後切到上方分頁 「原始碼 (Sources)」
在程式某行點左邊行號,會出現一個「藍色斷點」。
重新整理頁面,程式會在那行「暫停」。
右邊的 Scope 可以看變數值,Call Stack 可以看是誰呼叫誰。