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的调试也有一定的帮助。