異常及其處理

 

  今天主要針對js代碼運行過程當中出現的異常及其處理方法簡單的做出如下總結:瀏覽器

# 異常函數

## 異常的概念對象

異常就是程序在運行過程當中出現的錯誤.字符串

在 js 中出現異常後, 瀏覽器會給出一段錯誤碼, 就是錯誤消息. 錯誤消息由錯誤類型與錯誤信息構成string

## 如何處理異常io

就是要出現異常後還能繼續執行. 異常最大的特徵是 一旦代碼出現異常其後的代碼就再也不執行.console

常見的異常有兩大類:
1. 運行環境的多樣性
2. 語法錯誤, 代碼錯誤function


### try-catch 語法
即嘗試這麼作, 若是出現錯誤捕獲錯誤語法

```
...
try {
可能出現錯誤的代碼
} catch( e ) {
處理錯誤的代碼
}
...
```程序

1. 代碼正常運行, 若是在 try 中出現了錯誤, try 裏面出現錯誤的語句後面的代碼都再也不執行, 直接跳轉到 catch 中
2. catch 中處理錯誤信息
3. 而後繼續執行後面的代碼
4. 若是 try 中沒有出現錯誤, 那麼不走 catch 直接執行後面的代碼

## 如何拋出異常

```
throw 對象
```

1. throw 是拋出異常的語法, 其後跟一個對象, 即錯誤消息對象
2. 通常該對象使用 `new Error( '錯誤消息' )` 來建立. 也支持任意的對象.

```
function showMessage ( msg ) {
// 要顯示一段文本, 因此我作一個限制
if ( typeof msg !== 'string' ) {
throw new Error( '傳入的參數不是一個字符串' );
}
// 是正常的
console.log( msg );
}
```

## 補充

1. try-catch 語法的最終結構是 try-catch-finally``` try { 可能出現錯誤的代碼 } catch ( e ) { 若是出現錯誤就執行 } finally { 結束 try 這個代碼塊以前執行, 即最後執行 }```2. 層級傳遞``` function f1 () { f2(); // f1 稱爲調用者, 或調用函數, f2 稱爲被調用者, 或被調用函數 } function f2 () { f3(); } function f3() { throw new Error( 'error' ); } f1();```

相關文章
相關標籤/搜索