1.try-catch語句作為JavaScript中處理異常的一種標(biāo)準(zhǔn)方法,其基本語法如下:
~~~
tyr{
//可能會導(dǎo)致錯誤的代碼
} catch(error) {
//在錯誤發(fā)生時怎么處理
}
~~~
2.如果try塊中的任何代碼發(fā)生錯誤,就會立即退出代碼執(zhí)行過程,然后接著執(zhí)行catch塊。此時,catch塊會接收到一個包含錯誤信息的**對象**。與其他語言中不同的是,即使你不想使用這個錯誤對象,也要給它起個名字。這個對象中包含的實際信息會因瀏覽器而異,但共同的是有一個保存著錯誤信息的message屬性。
3.finally子句。雖然在try-catch語句中是可選的,但finally字句一經(jīng)使用,其代碼無論如何都會執(zhí)行,甚至return語句都不會阻止finally子句的執(zhí)行。(只要代碼中包含finally語句,那么無論try還是catch語句塊中的return語句都將被忽略)。如果提供了finally子句,則catch子句就成了可選的,即catch或finally有一個即可。
4.利用不同的錯誤類型,可以獲悉更多有關(guān)異常的信息,從而有助于對錯誤作出恰當(dāng)?shù)奶幚?。要想知道錯誤的類型,可以使用instanceof操作符。(包含在message屬性中的錯誤消息會因瀏覽器而異,不適合跨瀏覽器開發(fā))
5.使用try-catch最適合處理那些我們無法控制的錯誤。假設(shè)你在使用一個大型JavaScript庫中的函數(shù),該函數(shù)可能會有意無意地拋出一些錯誤。由于我們不能修改這個庫的源代碼,所以大可將對該函數(shù)的調(diào)用放在try-catch語句中,萬一有什么錯誤發(fā)生,也好恰當(dāng)?shù)靥幚硭鼈儭?
6.與try-catch語句相配的還有一個throw操作符,用于隨時拋出自定義錯誤。在遇到throw操作符時,代碼會立即停止執(zhí)行。僅當(dāng)有try-catch語句捕獲到被拋出的值時,代碼才回繼續(xù)執(zhí)行。建議開發(fā)者在開發(fā)JavaScript代碼的過程中,重點關(guān)注函數(shù)和可能導(dǎo)致函數(shù)執(zhí)行失敗的因素。良好的錯誤處理機制應(yīng)該可以確保代碼中只發(fā)生你自己拋出的錯誤。
- 第一章 JavaScript簡介
- 第二章 在HTML中使用JavaScript
- 第三章 基本概念
- 第四章 變量、作用域和內(nèi)存問題
- 第五章 引用類型
- 第六章 面向?qū)ο蟮某绦蛟O(shè)計
- 第七章 函數(shù)表達(dá)式
- 第八章 BOM
- 第九章 客戶端檢測
- 第十章 DOM
- 第十一章 DOM擴展
- 第十二章 DOM2和DOM3
- 第十三章 事件
- 第十四章 表單腳本
- 第十六章 HTML5腳本程序
- 第十七章 錯誤處理與調(diào)試
- 第二十章 JSON
- 第二十一章 AJAX和Comet
- 第二十二章 高級技巧
- 第二十三章 離線應(yīng)用與客戶端存儲
- 第二十四章 最佳實踐
- 第二十五章 新興的API
