JavaScript学习笔记2

错误处理

处理错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
window.onload = intAll;
function intAll(){
var ans = prompt("Enter a number","");
try{
/*我们要关注 3 种情况:根本没有输入;用户输入了某些内容,但不是数字;输入的是数字,但它是负数(因为负数的平方根是虚数,这超出了这个示例的范围) 。如果 !ans 是 true ,就意味着用户没有输入任何内容。内置的 isNaN() 方法检查传递给它的参数是否“不是数字(Not a Number) ” 。如果isNaN() 返回 true ,就说明输入的内容是无效的。如果 ans 小于 0,它就是负数。对于以上任何情况,都希望抛出一个错误,指出“Not a valid number(不是有效的数字) ” 。当抛出错误之后,JavaScript 跳出try 块并寻找对应的 catch 语句。因此, try 块中其余的代码都被跳过。 */

if (!ans||isNaN(ans)||ans<0) {
throw new Error("Not a number");
}
//如果输入了有效的内容,就显示平方根
alert("The square root of"+ans+"is"+Math.sqrt(ans));
}
catch(errMsg){
alert(errMsg.message);
}
/*还有一个可选部分:最后的 {} 块。这个部分放在 catch 后面,无论 try 块是否抛出错误,这里
包含的代码都应该执行。 */
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!