<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • javascript編程異常處理的方法

    時(shí)間:2024-08-04 10:10:03 JavaScript 我要投稿
    • 相關(guān)推薦

    javascript編程異常處理的方法

      1、煩人的腳本錯(cuò)誤

      樓豬經(jīng)常裝13,但是普遍都沒(méi)有深度。偶然艱難地看懂了一段英文,終于可以深沉地再裝一回:

      When browsing Web pages on the internet, we all have seen a JavaScript alert box telling us there is a runtime error and asking "Do you wish to debug". Error message like this may be useful for developers but not for users. When users see errors, they often leave the Web page.

      上面這段話,哼哼,看不懂了吧?nc樓豬優(yōu)雅且粗暴地理解一下就是,打開(kāi)一個(gè)網(wǎng)頁(yè),我們都不時(shí)碰到過(guò)網(wǎng)頁(yè)彈出腳步錯(cuò)誤并詢(xún)問(wèn)“是否要調(diào)試?”這種sb問(wèn)題。煩不煩啊,正常用戶經(jīng)常都會(huì)習(xí)慣性選擇右上紅叉,但是這種提示信息可能對(duì)開(kāi)發(fā)人員就tmd很有用。由此可見(jiàn),我kao,開(kāi)發(fā)人員不正常?!看來(lái)樓豬理解有誤。其實(shí)您不難看出,原文要告訴我們的最終意圖應(yīng)該是,網(wǎng)頁(yè)里出現(xiàn)腳本錯(cuò)誤很要命,用戶體驗(yàn)不好,白白“嚇跑”一批潛在用戶。

      2、如何處理腳本錯(cuò)誤

      在js中,我們通常也是通過(guò)try...catch 來(lái)捕獲并處理異常。

      try{ //Run some code here}catch(e){ //Handle errors here}

      在實(shí)際代碼中,我們可能會(huì)這么寫(xiě):

      function test(){var txt="";try{ alert(aaa);//aaa是未聲明的變量}catch(e){ txt="There was an error on this page.nn"; txt+="Error message: " + e.message + "nn"; txt+="Error description: " + e.description + "nn"; txt+="Error name: " + e.name + "nn"; //alert(txt);//正式平臺(tái)上可能需要注釋掉該行 }}

      還有一種比較通用的做法就是,給window對(duì)象的onerror事件注冊(cè)通用處理方法,并將下面的代碼置于頁(yè)面的節(jié)內(nèi):

      window.onerror=function(){ return true;}

      上面這種方式的好處是頁(yè)面里寫(xiě)一次,就不會(huì)彈出惱人的腳本錯(cuò)誤,有點(diǎn)全局處理的意思。對(duì)于開(kāi)發(fā)人員,這種寫(xiě)法可能會(huì)隱藏潛在的腳本錯(cuò)誤而不被發(fā)現(xiàn),所以測(cè)試的時(shí)候需要注釋掉上面的函數(shù)。

      3、javascript里的Error

      (1)、Error對(duì)象的常用屬性

      在我們捕獲異常的時(shí)候,通常都會(huì)在catch處拋出一個(gè)Error對(duì)象的實(shí)例e,e的幾個(gè)常用屬性如下:

      屬性 說(shuō)明

      description 異常的描述信息

      message 異常的描述信息

      name 異常類(lèi)型

      number 獨(dú)有的異常代號(hào)

      在實(shí)際開(kāi)發(fā)中,通常都會(huì)提示給開(kāi)發(fā)人員message和name信息,以便有針對(duì)性地處理異常。

      (2)、Error對(duì)象的類(lèi)型

      通過(guò)(1)中的name屬性我們可以查看到異常類(lèi)型。在js中,有如下幾種常見(jiàn)異常類(lèi)型:

      TypeError : 當(dāng)遇到一個(gè)意外的類(lèi)型時(shí)引發(fā),比如未聲明的變量等;

      SyntaxError : 在解析js代碼時(shí)其中的語(yǔ)法錯(cuò)誤引發(fā),比如服務(wù)端注冊(cè)腳步,少一個(gè)括號(hào)或引號(hào)等;

      ReferenceError : 使用一個(gè)無(wú)效的引用時(shí)引發(fā)該異常;

      EvalError : 在錯(cuò)誤的調(diào)用eval函數(shù)時(shí)引發(fā);

      RangeError : 在一個(gè)數(shù)字型變量的值超出了其范圍時(shí)引發(fā);

      URIError : 錯(cuò)誤地使用encodeURI()或decodeURI()函數(shù)時(shí)引發(fā)。

      在實(shí)際的開(kāi)發(fā)中,針對(duì)不同類(lèi)型的異常作出不同的異常處理,有利于我們有效地發(fā)現(xiàn)問(wèn)題和提高用戶體驗(yàn)。

    【javascript編程異常處理的方法】相關(guān)文章:

    JavaScript常用方法匯總03-08

    JavaScript fontcolor方法入門(mén)實(shí)例03-29

    javascript跨域訪問(wèn)的方法04-01

    JavaScript數(shù)組常用方法介紹03-25

    關(guān)jQuery彈出窗口簡(jiǎn)單實(shí)現(xiàn)代碼-javascript編程03-30

    使用ajax操作JavaScript對(duì)象的方法03-08

    Web服務(wù)中的異常處理03-30

    詳解JavaScript中的splice()使用方法04-01

    關(guān)于javascript尋找錯(cuò)誤方法整理04-02

    主站蜘蛛池模板: 亚洲国产高清精品线久久 | 97久久精品人妻人人搡人人玩| 久久91精品久久91综合| 日韩精品一区二区三区不卡| 久久久久夜夜夜精品国产| 亚洲精品无码久久久久| 国内精品久久久久久久涩爱| 91精品国产福利在线导航| 国产精品亚洲精品| 国产亚洲精品拍拍拍拍拍| 国产第一福利精品导航| 亚洲国产精品无码av| 久久久久久国产精品免费免费| 亚洲无删减国产精品一区| 国产欧美日韩精品丝袜高跟鞋 | 久久99热这里只有精品国产| 国内精品免费视频精选在线观看| 亚洲人成电影网站国产精品| 99在线观看视频免费精品9| 手机日韩精品视频在线看网站| 国产高清在线精品一区二区三区 | 中文字幕精品无码一区二区| 国产乱人伦偷精品视频不卡| 亚洲视频精品在线| 国产精品一久久香蕉国产线看| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 精品国产AV一区二区三区 | 国产精品无打码在线播放| 久久精品9988| 久久精品国产99国产精偷 | 久久久久无码精品国产不卡| 欧美日韩国产精品| 久久国产精品波多野结衣AV | 精品久久久噜噜噜久久久| 亚洲乱码精品久久久久..| 日韩精品国产自在欧美| 久久国产乱子伦精品免费午夜| 国产精品伊人久久伊人电影 | 午夜三级国产精品理论三级 | 国产成人精品日本亚洲直接| 国语自产精品视频在线区|