HTTP Networking(4) 錯誤處理
try catch
當 js 中的程式有錯誤時,可以用 try catch 來處理錯誤。
以下程式,因為變數 car 沒有定義會出現錯誤。
1 | const speed = car.speed |
此時可以用 try catch 來處理
1 | try { |
BUGS VS ERRORS
Bugs: 指的是程式運行的結果和想的不同,此時需要 fix the bug
例如有一個加法函式 `add(5, 3)` 預期會得到 8 但卻出現 10 的,就是bug。
Error: 指的是程式在預期中可能出現的錯誤,例如:
No Internet connection
、server down
、user input
此時要做得是 handle the error。
Debugging
當程式運行的結果和想的不同時,需要 debugging,例如:
- 新增一個缺少的參數到函式裡。
- 修正一個有錯誤的 url後,在執行 HTTP request
- 修復應用程序中未正確顯示的日期選擇元件
Error handling
是指在程式中,處理那些預期中可能出現的錯誤,例如:
- 使用 try/catch 來檢測用戶輸入的問題
- 使用 try/catch 在沒有網絡連接時,顯示錯誤。
Async await 讓錯誤處理更容易
1 | try { |
try catch 是js中處理錯誤的標準方法,但在 Promise API 中無法使用。若使用 Async await 則可以配合 try catch。