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的調試也有一定的協助。