js异常错误处理

记一次最近工作中遇到问题的处理方法。整理自https://www.cnblogs.com/luluping/archive/2011/02/14/1954092.html

当 JavaScript 引擎执行 JavaScript 代码时,可能会发生各种错误:比如数组索引越界、类型不匹配或者语法错误等。

当javascript抛出错误的时候,JavaScript 引擎通常会停止,并生成一个错误消息,往往会导致整个页面的假死。

try 语句测试代码块的错误。

catch 语句处理错误。

throw 语句创建自定义错误。

JavaScript 测试和捕捉

try 语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

JavaScript 语句 try 和 catch 是成对出现的。

Throw 语句

throw 语句允许我们创建自定义错误。

正确的技术术语是:创建或抛出异常(exception)。

如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。



常用方法:

 try {

      // 此处是可能产生例外的语句

  } catch(error) {

      // 此处是负责例外处理的语句

  } finally {

      // 此处是出口语句

  }

其中Error对象有两个属性:name属性表示例外的类型,message属性表示例外的含义。

Error.name的取值一共有六种,如下:

  Error:()的使用与定义不一致

  RangeError:数值越界

  ReferenceError:非法或不能识别的引用数值

  SyntaxError:发生语法解析错误

  TypeError:操作数类型错误

  URIError:URI处理函数使用不当

自定义错误信息:

上述的六种Error类型基本上覆盖了脚本程序运行时所可能发生的错误。除了这些类型以外,我们还可以使用Error构造器来自定义例外类型,其语法如下:

  myError = new Error(msg)

  其中msg参数表示所定义的新例外的message属性值。同时,我们还可以创建新的对象类型以作为Error的子类型:

function MyError(msg) {

this.name = "MyError"

this.message = msg

}

MyError.prototype = new Error;

  然后,我们就可以创建自定义错误子类的实例:

  myError = new MyError("My error message")

try…catch…finally语句的变形使用,即try…catch或者try…finally。

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

推荐阅读更多精彩内容

  •   由于 JavaScript 本身是动态语言,而且多年来一直没有固定的开发工具,因此人们普遍认为它是一种最难于调...
    霜天晓阅读 784评论 0 1
  • 程序开发中,编程人员经常要面对的是如何编写代码来响应错误事件的发生,即例外处理(exception handler...
    duJing阅读 1,166评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,236评论 0 13
  • 自昨天扛桌子和大包挤公交小火车爬山回家之后,今天又扛了三袋家乐福的吃喝用度挤地铁小火车爬山吹大风回家。 去了Ofi...
    Lebkuchen阅读 147评论 0 1