代码中健壮性的理解

所有源码中都会有一堆健壮性处理


健壮性:代码在出现预期之外错误情况下的应对能力。

就好比如我们身体很strong,但是不代表我们不会生病,只要我们身体够strong,即使生病了也能快速抵抗恢复。

代码健壮性能带来什么作用:


  1)  能够快速定位bug提升开发效率

// 最基础最常用-不要信任参数
function add ( a , b ) {
    return a + b
}
let result = add(1); // NAN
axios.get('×××')     // 400


// 严谨模式-代码健壮
function add ( a , b ) {
    // 检测到a或者b不是数字则抛出错误提示
    if(typeof a === 'number' && typeof b === 'number') {
        return a + b
    } else {
        throw new Error('a or b is not a number')
    }
}
// 这个时候就可以及时定位问题
let result = add(1); 

上述代码中按照正常逻辑调用 我们应该传两个Number类型参数,如果在使用者不知道的情况下,只传了一个参数结果返回的NAN,而且 浏览器没有报错 不打印出来就没有任何提示,这个时候再把数据(NAN)传输到后台,后台返回400 这个时候后台返回报错信息,自然而然 我们会认为接口请求这块出现了错误,我们要花费不少时间来找这个bug,从而浪费了开发的时间。


  2)  不至于因为错误导致全局崩溃

// 正常我们的代码块是一起执行的,结果中间抛出了一个错误
// 我们代码块在错误的那一段直接停止运行了
console.log(1)
throw new Error()
console.log(2)

// 比如说后端,如果有代码块错误肯定不会直接停止运行
// 所以后端会有生成一个错误日志,如果有错误不会停止运行,而是记录起来,不会因为一个错误把整个项目运行给中断


// 前端数据问题
let obj = {};
console.log(obj.a.b)
// obj.a -> undefined
// obj.a.b -> 报错
try {
    // 易错代码
} catch(e) {
    // 抛出错误
}

try{}catch(e){} 对于前端来说使用还是较少,以上例子只是提醒我们大家平常在工作中 能够养成一个良好的代码习惯,同样分享一下在源码中对健壮性的一个了解。

如果这篇文章有帮助到您还请点个赞哦~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值