js的异常处理

异常处理的作用

 <script>
        //有try在功能 自动捕获异常
        // 尝试运行try中的代码块,如果不通过就执行catch
        // 不影响下面代码执行
        //错误内容后的代码不执行
        try {
            console.log(a);
            var c = 222;
            console.log(c);
            //  并不会打印c
        } catch (error) {
            console.error(error);
        }
        var b = 111;
        // 如果没有try就不会打印b,因为a出错了,就停止了
        console.log(b)
    </script>

 如何手动抛出异常

    <script>
        //手动抛出异常 throw

        function fn(aaa) {
            if (aaa == undefined) {
                // throw new Error("无参数")
                throw {
                    //
                    erron: 123,
                    error: '无参数'
                }

            }
        }
        try {
            fn()
        } catch (error) {
            console.log(error)
        }
    </script>

 错误的传导机制

    <script>
        //异常的传递机制
        // 当在被调用函数内部出现异常的时候,异常
        // 会一层一层向上抛出,类似于冒泡
        // 从最底层传递到最顶层
        function f1() {
            fn2()
        }

        function fn2() {
            fn3()
        }

        function fn3() {
            throw new Error('我是错误')
        }
        try {
            f1()
        } catch (error) {
            console.error(error);
        }
    </script>

 异常的完整语句

<script>
        //try 必定执行的 catch看是否有异常 throw 手动抛出异常
        // finally无论对错都触发
        try {
            var a = 1
            console.log(a)
        } catch (error) {
            console.log(error)
        } finally { //必定触发,无论对错
            console.log("最终结果")
        }




        // 实例
        try {
            //数据库链接 出现问题
            // 把异常抛出

        } catch (error) {
            //捕获问题


        } finally { //一般前端用不到
            //把数据库连接释放 

        }
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值