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

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

    javascript編程異常處理的方法

      1、煩人的腳本錯誤

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

      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)雅且粗暴地理解一下就是,打開一個網(wǎng)頁,我們都不時碰到過網(wǎng)頁彈出腳步錯誤并詢問“是否要調(diào)試?”這種sb問題。煩不煩啊,正常用戶經(jīng)常都會習(xí)慣性選擇右上紅叉,但是這種提示信息可能對開發(fā)人員就tmd很有用。由此可見,我kao,開發(fā)人員不正常?!看來樓豬理解有誤。其實您不難看出,原文要告訴我們的最終意圖應(yīng)該是,網(wǎng)頁里出現(xiàn)腳本錯誤很要命,用戶體驗不好,白白“嚇跑”一批潛在用戶。

      2、如何處理腳本錯誤

      在js中,我們通常也是通過try...catch 來捕獲并處理異常。

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

      在實際代碼中,我們可能會這么寫:

      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);//正式平臺上可能需要注釋掉該行 }}

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

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

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

      3、javascript里的Error

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

      在我們捕獲異常的時候,通常都會在catch處拋出一個Error對象的實例e,e的幾個常用屬性如下:

      屬性 說明

      description 異常的描述信息

      message 異常的描述信息

      name 異常類型

      number 獨有的異常代號

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

      (2)、Error對象的類型

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

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

      SyntaxError : 在解析js代碼時其中的語法錯誤引發(fā),比如服務(wù)端注冊腳步,少一個括號或引號等;

      ReferenceError : 使用一個無效的引用時引發(fā)該異常;

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

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

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

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

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

    JavaScript常用方法匯總03-08

    JavaScript fontcolor方法入門實例03-29

    javascript跨域訪問的方法04-01

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

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

    使用ajax操作JavaScript對象的方法03-08

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

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

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

    主站蜘蛛池模板: 99热亚洲精品6码| 2020最新久久久视精品爱 | 久久亚洲精品成人AV| 亚洲AV无码精品无码麻豆| 97精品伊人久久久大香线蕉| 亚洲精品国产首次亮相| 国产精品揄拍100视频| 精品久久久久一区二区三区| 久久久精品人妻一区二区三区四| 国产精品嫩草影院一二三区入口 | 国产精品 91 第一页| 91探花福利精品国产自产在线| 97久久超碰成人精品网站| 欧美成人精品欧美一级乱黄一区二区精品在线| 精品久久久久久久无码| 日韩精品免费一线在线观看| 四虎4hu永久免费国产精品| 久久久无码人妻精品无码| 午夜精品久久久久久| 精品亚洲A∨无码一区二区三区 | 日本五区在线不卡精品| 日韩欧国产精品一区综合无码 | 91国内外精品自在线播放| 午夜成人精品福利网站在线观看| 无码人妻精品一区二区三区99仓本 | 久久99精品久久久久久水蜜桃| 中文字幕精品视频在线| 国自产精品手机在线观看视 | 国产精品福利在线观看| 无码国内精品久久人妻蜜桃| 久久久精品国产Sm最大网站| 国产精品hd免费观看| 亚洲精品免费视频| 中文精品久久久久人妻| 日韩精品国产自在欧美| 久久久久人妻一区精品果冻| 四虎永久在线精品国产免费 | 精品无码三级在线观看视频| 91麻豆精品国产| 精品国产不卡一区二区三区| 国产精品毛片无遮挡|