JavaScript捕獲異常

來源:互聯網
上載者:User

javascript 中的捕獲異常:
大家是不是覺得調試javascript非常的痛苦,我也覺得。
只要能找到一點可以協助我們調試javascript的好方法我們都要用上。
其實javascript中也可以捕獲異常的,比如:

<div id='bbb' style="display:none">asdf</div>
<script>
    function a()
    ...{
        try
        ...{
            var aaa = document.getElementById('bbb');
            alert(aaa.innerText);
        }
        catch (e)
        ...{
            alert('錯誤' + e.message + '發生在' + e.lineNumber + '行');
        }
    }
    a();
</script>

<div id='bbb' style="display:none">asdf</div>
<script>
    function a()
    ...{
        try
        ...{
            var aaa = document.getElementById('sakdhglas');
            alert(aaa.innerText);
        }
        catch (e)
        ...{
            alert('錯誤' + e.message + '發生在' + e.lineNumber + '行');
        }
    }
    a();
</script>

就會報錯了,js的異常e除了e.message 和 e.lineNumber之外還有一個重要的屬性 e.name

e.name 錯誤類型,
e.message 錯誤的詳細資料.

Error.name的六種值對應的資訊:
1. EvalError:eval()的使用與定義不一致
2. RangeError:數值越界
3. ReferenceError:非法或不能識別的引用數值
4. SyntaxError:發生文法解析錯誤
5. TypeError:運算元類型錯誤
6. URIError:URI處理函數使用不當

這樣你的js代碼在運行到有捕獲異常的代碼時,就算代碼出錯了,也會繼續往下運行代碼,不會停止,而且使用了異常對js的調試也有一定的協助。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.