阿里云网站申请用途,怎么做pdf电子书下载网站,顺义做网站的公司,河北建设工程信息网停用公告1.异常的概念
程序运行中意外发生的情况就成为异常
例子#xff1a;
//除法运算function chu(num1:number,num2:number){if(num20){//throw 抛出异常throw new Error(除数不能为零)}let num:numbernum1/num2console.log(num)
}//程序出现异常后会停止运行// 捕获异常try{ /…1.异常的概念
程序运行中意外发生的情况就成为异常
例子
//除法运算function chu(num1:number,num2:number){if(num20){//throw 抛出异常throw new Error(除数不能为零)}let num:numbernum1/num2console.log(num)
}//程序出现异常后会停止运行// 捕获异常try{ //尝试执行有可能有异常的代码块chu(1,0)
} catch(error){ //对异常进行处理console.log(error)
}
chu(1,1)
运行结果 运行讲解
当我们知道除数不能为0为了避免程序中出现错误我们就判断一下除数是否为0如果为0就抛出异常但是如果抛出异常没有处理程序就会停止运行为了避免异常导致程序停止运行就需要捕获异常try{} catcherror{}
try尝试执行有可能有异常的代码
catch()对异常进行处理
这是我们模拟了一下错误让try去执行代码此时捕获到错误了就交给了catch处理
这里处理的结果是打印错误提示而这个错误提示又是抛出异常的提示词所以异常为除数不能为零但是不影响底下代码正常运行。
2.finally的概念
finally是异常的最终解决方案无论是否出现异常都要执行里面的代码
案例模拟输入一个年龄输完年龄之后提示输入成功
条件不管是不是出现异常都需要提示成功
let num:string12
// 转换年龄
function getNum(num:string):number{if(parseInt(num)){return parseInt(num)}else{throw new Error(年龄输入错误)}
}function ts(){try {console.log(模拟输入的值为num);let agegetNum(num)console.log(年龄是:age);} catch (error) {}finally{ // 异常的最终解决方案//finally无论是否出现异常都要执行console.log(输入成功);}}
ts()
运行结果 无异常运行结果 发现异常运行结果 运行讲解
模拟输入年龄年龄都是数字类型年龄中出现字母则出现异常我们就需要解决这一问题就需要抛出异常抛出异常就会影响下面代码正常运行所以我们需要捕获一下异常finally是异常的最终解决方案无论是否出现异常都要执行这样就可以完成我们上述的需求。
3.return和finally的执行顺序
function aa(){try{//异常代码return 123} catch(e){return 456}finally{console.log(567);}
}
let aaa()
console.log(a);
思考上述代码是如何执行的
运行结果 运行分析
先执行finally,然后再执行return 原因finally无论是否异常都会执行的当try没有异常有return的时候会先执行完filally之后在执行return