js异常捕获、抛出及简单使用案例

在js代码执行过程中一旦有错误,后续的相关代码都会终止,这样会使得我们的项目代码结构上很不健壮。在其他的一些编程语言中都有异常捕获的方法,提供了异常处理机制,可以处理出现的异常,而不会停止整个应用程序.在es3之后的版本中js也可以进行异常捕获,通过try{}catch{}使的前端代码更加健壮。

Error具有下面一些主要属性:
1.description: 错误描述 (仅IE可用).
2.fileName: 出错的文件名 (仅Mozilla可用).
3.lineNumber: 出错的行数 (仅Mozilla可用).
4.message: 错误信息 (在IE下同description)
5.name: 错误类型.
6.number: 错误代码 (仅IE可用).
7.stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).

一、异常捕获 try{}catch{}

例如

  let str = 'cuiht';
  str.push('test');
  console.log('执行完毕');

将会执行报错,并阻塞后面的代码执行。如图:



而我们将异常捕获之后,就可以让代码正常执行。例如:

  let str = 'cuiht';
  try {
    str.push('test');
  } catch (error) {
    console.log('代码执行出错!');
    console.log(error);
  }
  console.log('代码执行完毕!');

执行结果如图:


一、异常抛出 throw

在我们执行程序的过程中,在不符合要求的情况终止程序进行,这时候我们就可以将异常抛出。

let subtract = (max,min) => {
    if (min<=max) {
      return max-min
    } else {
      throw '参数有误,减数小于被减数!'
    }
    console('已计算出结果!')
  }
  subtract(0,1)

执行结果如图:


配合try{}catch{}使用:

  try {
    subtract(0,1)
  } catch (error) {
    console.log(error);
  }

  try {
    console.log(subtract(5,1));
  } catch (error) {
    console.log(error);
  }

执行结果如图:第一个代码块报出错误,第二个代码块正常输入结果。


将一付好牌打好没有什么了不起能将一付坏牌打好的人才值得钦佩。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   由于 JavaScript 本身是动态语言,而且多年来一直没有固定的开发工具,因此人们普遍认为它是一种最难于调...
    霜天晓阅读 780评论 0 1
  • 写在前面:对于代码,处理非正常情况不可或缺,主要体现在错误和异常。在计算机系统的语义里,错误是非正常的系统级的严重...
    隔壁桌的郑先生阅读 390评论 0 0
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • javascript异常 所谓异常就是程序的非正常运行,通俗的说就是程序发生了错误。至于这些错误,有的是认为疏忽造...
    lwbg阅读 1,005评论 0 1
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,543评论 1 11