【前端入门】JavaScript中不可忽视的“错误处理”

142 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

错误类型

在执行JavaScript代码的时候,有一些情况会发生错误。

  • 程序写的逻辑不对,导致代码执行异常
  • 执行时,程序遇到无法预测的异常情况而报错,例如,网络连接中断,读取不存在的文件,没有操作权限等

第二种错误,我们需要及时反馈并处理它,这里就需要给用户反馈了。错误处理是程序设计时必须要考虑的问题。 通过错误码返回错误,就需要约定什么是正确的返回值,什么是错误的返回值。

错误处理的方法:try ... catch ... finally

当代码块被try { ... }包裹的时候,就表示这部分代码执行过程中可能会发生错误,一旦发生错误,就不再继续执行后续代码,转而跳到catch块。catch (e) { ... }包裹的代码就是错误处理代码,变量e表示捕获到的错误。最后,无论有没有错误,finally一定会被执行。

有错误发生时,执行流程像这样:

  1. 先执行try { ... }的代码
  2. 执行到出错的语句时,后续语句不再继续执行,转而执行catch (e) { ... }代码
  3. 最后执行finally { ... }代码

没有错误发生时,执行流程像这样:

  1. 先执行try { ... }的代码
  2. 因为没有出错,catch (e) { ... }代码不会被执行
  3. 最后执行finally { ... }代码

学会如何正确抛出错误

程序也可以主动抛出一个错误,让执行流程直接跳转到catch块。抛出错误使用throw语句

注意:当我们用catch捕获错误时,一定要编写错误处理语句!!!因为catch到错误却什么都不执行,就不知道程序执行过程中到底有没有发生错误了。最好还是抛出一个Error对象。

写在最后

以上习题&笔记从大佬们的论坛学习而来,特感谢大佬们的知识分享~ (学习技术知识,果然要看大佬们的技术博客,大家有好的推荐也欢迎指引我这个小白哈,感恩!)

附上学习链接,感谢廖大神例题及分析参考 :www.liaoxuefeng.com/wiki/102291…