【重磅封装】JavaScript之同步异常try-catch处理和异步异常Promise-catch处理之封装全局方法【tryCatchGlobal和tryCatchGlobalPromise】

为什么要封装全局同步异常处理和异步异常处理呢?

原因简单:在整个项目中,很多地方都要用到异常处理,总不能随处都是try-catch吧

 

在JavaScript中处理异常无外乎两种方式【try-catch】和【Promise-catch】但是两种应用场合完全不一样!

try-catch----只能处理同步异常【同步和异步不是一个线程,所以同步无法捕捉异步的异常】

Promise-catch----专门为异步提供的异常处理

 

封装同步异常处理方法:

封装一个全局通用的同步try-catch方法【同步和异步不是一个线程,所以同步无法捕捉异步的异常】
    static tryCatchGlobal (asyncFunc) {
        try {
            return asyncFunc();
        } catch (e) {
            console.log(`同步异常捕捉_error:${e}`);
        }
    }

封装异步异常处理方法: 

封装一个全局通用的异步Promise的try-catch方法捕捉区块链异步异常错误
    static tryCatchGlobalPromise (asyncFunc, errMsg = "区块链异步异常捕捉") {
        return new Promise((resolve, reject) => {
            // asyncFunc只能是异步方法,且必须返回一个Promise,否则会报错【Promise才有then方法】
            return asyncFunc().then((res) => {
                resolve(res);
            }).catch((error) => {
                console.log(`${errMsg}_error:${error}:`);
                resolve(null);
            });
        });
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值