我爱Aspx >> Asp.Net >> JavaScript异常处理function sum(a,b){
a=parseInt(a);
b=parseInt(b);
//如果a或b不能转换为数字则抛出一个异常对象
if(isNaN(a) || isNaN(b)){
throw new Error("arguments are not numbers");
}
return a+b;
}
try{
//错误的调用
var s=sum("c","d");
}catch(e){
//显示异常的详细信息
alert(e.message);
}
//-->
</script>
程序中使用字母作为参数传递给sum函数,是错误的,所以函数内抛出了一个异常对象,这个对象被catch语句获取,并使用alert语句显示了其详细信息。
注意:使用new Error(message)创建异常对象只是一种默认的习惯,也是内置异常的实现方式。这不是必需的,完全可以抛出任意数据类型的异常,例如一个整数,来作为异常的描述。只要在程序中抛出异常和捕获异常能匹配即可。
Error对象除了message属性以外,还有一些其他的属性,这些属性因浏览器而异,例如:在IE浏览器中,error对象的属性包括name、number、description、message;而在Firefox浏览器中,error对象的属性包括message、fileName、lineNumber、stack、name。在实际的应用中如果要实现自己的异常,这些属性只要被赋值,都是可用的,其中Firefox浏览器还会自动对stack属性赋值,用于显示异常出现的位置。
Ҷƪл˵?
JavaScript使用Window对象[05-20]
JavaScript使用正则表达式[05-20]
JavaScript使用cookie[05-20]
JavaScript框架编程[05-20]
JavaScript使用面向对象思想处理..[05-20]
Javascript事件设计模式[05-20]
JavaScript实现抽象类[05-20]
JavaScript类的继承[05-20]
JavaScript 使用for(…in…)实现..[05-20]
JavaScript类的实现[05-20]
JavaScript使用Window对象[05-20]
JavaScript使用正则表达式[05-20]
JavaScript使用cookie[05-20]
JavaScript框架编程[05-20]
JavaScript使用面向对象思想处理..[05-20]
Javascript事件设计模式[05-20]
JavaScript实现抽象类[05-20]
JavaScript类的继承[05-20]
JavaScript 使用for(…in…)实现..[05-20]
公有成员、私有成员和静态成员[05-20]