一分鐘學(xué)會(huì)JavaScript中的try-catch
導(dǎo)讀:
在Java中我們使用try-catch進(jìn)行異常處理,同樣的JavaScript也提供了和異常處理類似的異常處理機(jī)制,本節(jié)我們將對(duì)JavaScript異常處理進(jìn)行詳細(xì)講解。
1.1 如何進(jìn)行錯(cuò)誤處理
<script> var i = {}; //定義一個(gè)變量 i.func(); //調(diào)用一個(gè)不存在的方法 console.log('test'); //如果上一段代碼出現(xiàn)錯(cuò)誤,這段代碼不會(huì)執(zhí)行</script>
查看控制臺(tái)輸出結(jié)果
從圖1-1中能看出,當(dāng)前程序發(fā)生了一個(gè)TypeError類型的錯(cuò)誤,錯(cuò)誤信息是'i.func'不是一個(gè)函數(shù),發(fā)生錯(cuò)誤的代碼位于erroe.html的第3行。
當(dāng)發(fā)生錯(cuò)誤時(shí),JavaScript會(huì)拋出一個(gè)錯(cuò)誤對(duì)象,使用try-catch進(jìn)行抓取。
下面利用try-catch進(jìn)行演示
<script> var i = {}; try{ i.func(); console.log('1'); //發(fā)生錯(cuò)誤,該代碼不會(huì)執(zhí)行 } catch(e){ console.log(e); //在此處抓取錯(cuò)誤對(duì)象e } console.log('錯(cuò)誤被處理'); //如果錯(cuò)誤被處理,改代碼會(huì)被執(zhí)行</script>
查看控制臺(tái)輸出結(jié)果
從圖1-2我們能看出當(dāng)try中的代碼發(fā)生錯(cuò)誤時(shí),利用catch可以進(jìn)行異常處理,但是當(dāng)try塊中的某一塊代碼發(fā)生錯(cuò)誤時(shí),后面的代碼將不會(huì)執(zhí)行,所以我們應(yīng)該盡量減少try塊的代碼。
到此這篇關(guān)于學(xué)會(huì)JavaScript中try-catch的文章就介紹到這了,更多相關(guān)JavaScript的try-catch內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問(wèn)題及解決方法2. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法3. 不使用XMLHttpRequest對(duì)象實(shí)現(xiàn)Ajax效果的方法小結(jié)4. Python自動(dòng)化之定位方法大殺器xpath5. 刪除docker里建立容器的操作方法6. jsp實(shí)現(xiàn)登錄界面7. Ajax獲取php返回json數(shù)據(jù)動(dòng)態(tài)生成select下拉框的實(shí)例8. Ajax實(shí)現(xiàn)搜索功能的分頁(yè)9. php5.6不能擴(kuò)展redis.so的解決方法10. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效
