<script language="JavaScript" type="text/javascript">
<!--
try{
var n = prompt('请输入一个正整数')
var f = 我的函数(n)
alert(f)
}
catch(ex){//ex引用抛出的Error对象或其他值;
if(ex instanceof NonePositiveError){//判断ex是否是NonePositiveError对象的一个实例;
alert(ex.message)
}
else if(ex instanceof Nerror){//同上,判断ex是不是Nerror对象的一个实例;
alert(ex.message)
}
else{
throw (ex)
}
}
function NonePositiveError(n){
n = n || '';
this.message = "输入的数字" + n + "不是正整数!";
}
NonePositiveError.prototype = new Error();
function Nerror(){
this.message = "输入的不是一个数字!";
}
Nerror.prototype = new Error();
function 我的函数(n){
n = parseInt(n);
if(isNaN(n)){
throw (new Nerror())//抛出错误;
}
else if(n <= 0){
throw (new NonePositiveError(n))//抛出错误;
}
return n <=1 ? 1 : n * 我的函数(n - 1);
}
//-->
</script>
对于抛出的错误对象我们可以自己定义,定义的格式如下:
function def(){....} def.prototype = new Error();