JavaScript

1. try catch

try {
    // 正常执行
} catch(err) {
    // 开发者认为可能出错的 (如网络连接失败、函数少了条件...)
}

try catch的使用,应永远在“你”的控制范围内,你很清楚这里是有可能出错的(如ajax请求时,有可能网络没有连接导致超时...)trycatch是为了让程序不崩溃,同时开发者可以捕获到异常并加以逻辑处理,使程序得以继续运行下去。

应用场景

  • 浏览器兼容性

        也就是兼容性场合,因为浏览器兼容性不是程序员能改正的,所以只能try catch:由于不同浏览器的报错提示是不一样的,根据捕获的浏览器的报错提示判断用户的浏览器,然后做出对应的措施,这时候使用try catch是巧妙的办法,如果用if就比较笨拙,因为if通常只能反馈真或假,不能直接反馈浏览器的报错内容。

  • 判断代码非法性

可能你会想到用 if 去判断代码,但这其实是不同的。

假设你要判断 obj.student.info.name == 'xxx', 如果用if判断,你需要逐层确定每个属性是否存在,假设info并不存在,你直接写obj.student.info.name已经是报错的了,因此用if的话,你需要更多的if去判断每层是否存在。 

但try catch就可以直接捕获到这个异常并将其抛出给你,你可以对异常做处理,程序不会崩溃

  • 捕获到异常,还能“挽回”,换条路走

你可以在catch里面“换一条逻辑走”,让程序得以不崩溃,可以继续按你的逻辑往下执行。

  • “体面退出”

你可以在catch里 alert或者在使用插件库的情况下$message ,弹个框告诉用户不好意思出了点问题。如果是用户的错告诉他那里操作错误了, 如果是程序的错,道歉!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值