錯誤處理
- Error對象: 封裝了錯誤信息的對象
- 何時創建: 發生錯誤時, JS自動創建
- Error子對象:
- ReferenceError: 引用錯誤, 找不到對象
- SyntaxError: 語法錯誤
- TypeError: 類型錯誤, 錯誤的使用類型或類型的方法
- RangeError: 範圍錯誤, 參數超範圍
- EvalError: Eval錯誤, 錯誤地使用了eval函數
- URIError: URI錯誤
- 錯誤處理: 發生錯誤時, 保證程序不中斷
- 如何進行錯誤處理: 利用try…catch結構
- 錯誤處理中的return:
- finally中的return, 會替換try…catch中的return
- 若finally中沒有return, finally中的代碼一定會在return之前執行。但無法影響已確定的return結果。
- 拋出自定義錯誤: throw new Error(“自定義錯誤消息”);
- 注意: 如果可以提前預知錯誤的原因, 建議使用if…else代替try…catch。try中應包含儘量少的代碼, 因try的執行效率低, 且多創建了一個Error對象。