7、異常處理與調試 7.1 異常處理 7.1.1 try/catch語句 try/catch語句常用於處理JavaScript中的異常,其基本語法如下所示: try { // 可能出錯的代碼 } catch(error){ // 出錯後,需要做的事 } finally{ // 不管怎樣,都要運行的語 ...
7、異常處理與調試
7.1 異常處理
7.1.1 try/catch語句
try/catch語句常用於處理JavaScript中的異常,其基本語法如下所示:
try {
// 可能出錯的代碼
} catch(error){
// 出錯後,需要做的事
} finally{
// 不管怎樣,都要運行的語句
}
如果try塊中有代碼發生錯誤,則立即退出執行,並跳到catch塊中,此時catch會接收到一個對象,該對象包含發生錯誤的相關信息。在catch塊中不使用錯誤對象,也必須為它定義名稱,其包含一個message屬性。
示例代碼如下所示:
let a=12;
try {
a/b
} catch (error) {
console.error(`An error happend,please check,detail message is ${error.message}`); // An error happend,please check,detail message is b is not defined
} finally{
console.log("run finally ");
}
再來看看以下代碼,返回值是多少?
function testTryCatchFinally(){
try {
return 0;
} catch (error) {
return 1;
} finally{
return 2;
}
}
console.log(`return value is ${testTryCatchFinally()}`); // return value is 2
在上面語句中,finally中的return返回會覆蓋try中的return語句。
常見的錯誤類型如下所示:
- Error
- InternalError
- EvalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
7.1.2 拋出錯誤
與try/catch 語句對應的一個機制是throw 操作符,用於在任何時候拋出自定義錯誤,throw 操作符必須有一個值,但值的類型不限。以下為示例:
throw "error"
throw 123
throw {"name":"Surpass"}
throw [1,2,3,4]
throw new Error("abc")
使用throw時,代碼會立即停止運行。
7.2 調試
JavaScript用於調試的方法比較多,這裡僅介紹把消息記錄到控制台。所有主流瀏覽器都有JavaScript控制台,可用於查詢JavaScript錯誤,也支持通過console對象直接把JavaScript消息寫入控制台,主要包含以下方法:
- error(message):在控制臺中記錄錯誤消息。
- info(message):在控制臺中記錄信息性內容。
- log(message):在控制台記錄常規消息。
- warn(message):在控制臺中記錄警告消息。
原文地址:https://www.jianshu.com/p/4436750c806e
本文同步在微信訂閱號上發佈,如各位小伙伴們喜歡我的文章,也可以關註我的微信訂閱號:woaitest,或掃描下麵的二維碼添加關註:
作者: Surpassme
來源: http://www.jianshu.com/u/28161b7c9995/
http://www.cnblogs.com/surpassme/
聲明:本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出 原文鏈接 ,否則保留追究法律責任的權利。如有問題,可發送郵件 聯繫。讓我們尊重原創者版權,共同營造良好的IT朋友圈。