js异常错误处理

2018-03-29  本文已影响0人  风起时丶

记一次最近工作中遇到问题的处理方法。整理自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。

上一篇下一篇

猜你喜欢

热点阅读