所有源码中都会有一堆健壮性处理
健壮性:代码在出现预期之外错误情况下的应对能力。
就好比如我们身体很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){} 对于前端来说使用还是较少,以上例子只是提醒我们大家平常在工作中 能够养成一个良好的代码习惯,同样分享一下在源码中对健壮性的一个了解。
如果这篇文章有帮助到您还请点个赞哦~