当前位置:嗨网首页>书籍在线阅读

38-引发自定义错误

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.11.2 引发自定义错误

您还可使用throw语句引发自定义错误。下面的代码在一个函数中添加throw语句来引发错误,从而将错误扼杀在摇篮中。函数sqrRoot()接受一个参数——x;它检查参数x是否是正数,如果是就返回一个字符串,其中包含x的平方根。如果x不是正数,就引发相应的错误,而catch块将返回错误消息:

function sqrRoot(x) {
   try {
     if(x=="") throw {message:"Can't Square Root Nothing"};
     if(isNaN(x)) throw {message:"Can't Square Root Strings"};
     if(x<0) throw {message:"Sorry No Imagination"};
     return "sqrt("+x+") = " + Math.sqrt(x);
   } catch(err){
     return err.message;
   }
}
   function writeIt(){
   print(sqrRoot("four"));
   print(sqrRoot(""));
   print(sqrRoot("4"));
   print(sqrRoot("-4"));
}
writeIt();

下面的控制台输出指出了根据提供给函数sqrRoot()的输入可能引发的各种错误:

Can't Square Root Strings
Can't Square Root Nothing
sqrt(4) = 2
Sorry No Imagination