JS错误处理

主动触发错误

throw  try  catch    debugger断点与单步跟踪

function getUserInput(msg){
var input=prompt(msg);
var parsed=parseInt(input);
if(parsed!=parsed){//parsed为NaN
return input;
}else{
return parsed;
}
}

function multiple(a,b){
if((typeof a!="number")||(typeof b!="number")){
throw new Error("arguments should all be number!");  //抛出错误后会往外找到最近它的catch语句
}
return a*b;
}

var c;
var a=getUserInput("请输入一个数");
var b=getUserInput("请再输入一个数");
try {
c=multiple(a,b);
alert("它们的乘积是"+c);
}catch(e){
alert("请输入两个数字");
}
try {//如果内部的代码抛出错误,则代码直接跳入catch块运行,且把错误对象赋值给catch括号内的变量
var x=null;
console.log(x.foo);
}catch(e){
console.log(e);
}finally{
//做一些请理性的工作
//finally块是一定会执行的
}

 

转载于:https://www.cnblogs.com/jian1234/p/10135146.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值