1.对于异常处理,javascript支持异常处理,支持手动抛出异常。需要抛出的时候,总是通过throw语句抛出Error对象。
语法如下:
throw new Error (errorString);
javascript即允许在代码执行过程中抛出异常,也允许在函数定义中抛出异常。在代码执行过程中,一旦遇到异常,立即寻找对应的异常捕获快(catch快);如果没有对应的异常捕捉快,异常将传播给浏览器,程序非正常终止。如一下代码:
for (var i = 0; i<10; i++){
document.writeln(i + '<br/>');
if (i>4)
throw new Error('用户自定义错误');
}
运行结果如下
所以当i=5,得时候手动抛出异常,但没有得到处理,因而传播到浏览器,引起程序非正常终止,浏览器也有关于错误的提示。
2.异常捕捉语句
当程序出现异常时,这种异常不管是用户手动抛出的异常,还是系统本身的异常,都可以使用catch捕捉。javascript代码运行中一旦出现异常,程序就跳转到对应的catch块。
语法格式如下:
try{
statements
}
catch(e){
statements
}
finally{
statements
}
注意:这里的finally块是可以省略的,但一旦指定了,finally代码快就会获得执行的机会。
例如:
try{
for(var i = 0; i<10;i++){
document.writeln(i+'<br/>');
if (i>4){
throw new Error('用户自定义错误');
}
}
}
catch(e){
document.writeln('系统出现异常'+ e.message+ '<br/>');
}
finally{
document.writeln('系统的finally块');
}
运行结果:
从上面可以看到,javascript同样可以获得异常的描述信息,通过异常对象的message属性即可访问异常对象的描述信息。
总结一下:
javascript与java异常机制存在如下区别:
- 只有一个异类:Error,无须在定义函数时声明抛出异常,所以没有theows关键字。
- 是弱类型语言:所以catch语句后括号里的异常实例无须声明类型。
- 只有一个异常类,所以try块后最多只能有一个catch块。
- 获取异常的描述信息是通过异常对象的message属性,而不是通过getMessage()方法实现的。
with 语句
使用with可以避免重复书写对象。
语法为:
with(object){
statements
}
例如:
with(document)
{
writeln("1");
writeln("2");
writeln("3");
;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)