天天看點

兩種JavaScript異常處理的方式

一、浏覽器抛出異常

1、标準格式

try{ 
    //可能發生異常的代碼 
}catch(error){ 
    //發生錯誤執行的代碼 
}
           

2、finally語句

try{ 
    //可能發生異常的代碼 
}catch(error){ 
    //發生錯誤執行的代碼 
}finally{
    // 不管 try 中的語句有沒有錯誤,都會執行的語句
}
           

即:try 中語句不發生錯誤執行完畢後會執行 finally 中的語句,try 中的語句發生錯誤,則執行 catch中的語句,catch 中的語句執行完畢後也會執行 finally 中的語句。

3、錯誤類型

•Error 基類型,即其他的錯誤類型都是從 Error 繼承來的

•EvalError 使用 eval() 函數發生異常時被抛出。

•RangeError 數值超出規定範圍時被抛出

•ReferenceError 找不到對象時,會抛出

•SyntaxError 文法錯誤時

•TypeError 變量中儲存着意外的類型,或者通路不存在的方式時

•URIError 使用 encodeURI() 或者 decodeURI() 時,URI 的格式不正确

二、throw主動抛出異常

1、JS内置錯誤類型對象

throw new Error(“主動抛出的錯誤,後面代碼不執行”);

2、自定義錯誤類型對象

繼承任何一個自定義錯誤類型都可以。一般直接繼承Error即可

繼續閱讀