Node.js Error Handling
📌 1. 錯誤分類
錯誤類型 | 範例 | 是否可捕捉 |
---|---|---|
語法錯誤 (SyntaxError) | JSON.parse('[') | 否,執行前報錯 |
執行期錯誤 (RuntimeError) | foo.bar() | ✅ 可使用 try-catch |
非同步錯誤 (Async error) | fs.readFile() callback | ✅ 需在 callback 或 catch 處理 |
未捕捉例外 | 無 try-catch 包裹 | ❌ 會導致 process crash |
未處理 Promise 拋錯 | Promise 未加 .catch() | ❌ 會觸發全域錯誤 |
📌 2. 同步錯誤處理(try-catch)
try {
const json = JSON.parse('{ invalid }');
} catch (err) {
console.error('解析錯誤:', err.message);
}
✅ try-catch 僅限於同步執行區塊。