JavaScript高级学习:ES6新特性06——异常处理

提示:
本文为JavaScript栏目:JavaScript高级系列——ES6新特性章节 第六章

JavaScript高级学习:ES6新特性06——异常处理

  • 前言
  • 异常处理
    • 异常捕获
    • 异常抛出
      • html
      • 抛出异常


前言

本文讲解异常处理。


提示:以下是本篇文章正文内容,下面案例可供参考

异常处理

异常捕获

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;

你可能感兴趣的:(JavaScript,javascript,es6)