提示:
本文为JavaScript栏目:JavaScript高级系列——ES6新特性章节 第六章
前言
本文讲解异常处理。
提示:以下是本篇文章正文内容,下面案例可供参考
异常处理
异常捕获
try{
// 异常捕获
console.log("进入try语句块");
console.log(num);
let num=10;
console.log("你好");
}catch (e){
console.log("进入catch语句块");
console.log("错误类型:"+e.name);
console.log("错误信息:"+e.message);
}finally {
console.log("不管try中是否有错误,我都会一定会执行");
}
console.log("try-catch外部代码");
/*
进入try语句块
进入catch语句块
错误类型:ReferenceError
错误信息:Cannot access 'num' before initialization
不管try中是否有错误,我都会一定会执行
try-catch外部代码
*/
function f() {
try{
console.log(bbb);
console.log("try");
return "try中的结束";
}catch {
// catch省略参数的写法是ES6才可以使用的
console.log("catch");
return "catch中的结束";
}finally {
// finally语句是必须执行的,如果try或者catch中有return,那么finally中的代码会自动提到return之前执行
console.log("finally");
// return "try中的结束";
}
}
console.log(f());
/*
catch
finally
catch中的结束
*/
异常抛出
html
<body>
<input type="text" id="age" placeholder="请输入年龄">
<button type="button" id="getAge">提交</button>
</body>
抛出异常
let getAge=function () {
try{
let age=document.getElementById("age").value;
if (age>18){
console.log("成年人,请进");
}else{
console.log("未成年拜拜!");
// 主动抛出异常
throw new Error("年龄太小"); //强制终止代码!!!
}
console.log("哦共享网吧欢迎您");
}catch (e) {
console.log("错误类型:"+e.name);
console.log("错误信息:"+e.message);
}
}
document.getElementById("getAge").onclick=getAge;