跳到主要內容
← 回到學習

學習 · 面試考題

會try{}catch{}嗎

JavaScript 中的 try-catch 與 if-else 是兩種不同的錯誤處理方式。

  • if-else 是用於檢測特定條件並執行不同的操作,但不會捕獲任何異常或錯誤。
  • try-catch 是用於捕獲例外狀況的,當代碼執行期間發生錯誤時,它會將異常捕獲並處理,不會影響整個程式的運行。

所以,在開發中,我們需要根據當前需求選擇適當的錯誤處理方式,以確保程式的正確性和健壯性。

當你需要處理例外狀況(exceptions)時,使用 try...catch 比使用 if...else 更為適用。

例如:你正在處理一個除法,你無法預期分母是否為 0,這樣的狀況下如果使用 if...else,你需要在每個除法運算中都加上一個判斷,而使用 try...catch,你只需要在一個地方處理這個例外狀況即可。

示例:

try {
let x = y / z;
	// 在此處執行一些代碼
} catch (error) {
	console.error(error);
	// 處理錯誤
}
javascript

這種方式更加簡潔,也更容易維護。

一般來說,當你可以使用 if/else 或者 switch/case 清晰地定義異常的情況時,最好避免使用 try/catch。

然而,當你需要處理不可預期的異常,或者當你需要對錯誤進行特殊處理時,使用 try/catch 可以是一個有效的解決方案。