怎样应用Javascirpt中的异常处理机制

来源:互联网 发布:java入门编程实例 编辑:程序博客网 时间:2024/05/01 00:11

 

 

Javascirpt 采用了两种不同机制来诱捕和处理错误。它提供了try-catch-finally机制处理异常错误,同时提供了一个全局的错误事件来处理不能捕捉的错误!

1、try-catch-finally机制

  嵌入的try语句块中的代码引发的错误异常则会将控制权移交到catch语句块中,catch语句中接受一个参数作为系统错误的实例来对发生的错误进行描述。

      在本例中,因为a的值为null,并且我们试图将他的value属性赋值,一个错误将被抛出。catch块中接受一个参数e,它是Error类型的一个实例。Error类型有两种标准属性:

  •  name:发生错误的类型,在不同浏览器下不尽相同。但常有Error、EvalError、RangeError、SyntaxError、TypeError和URIError这几种。
  • message:发生错误的相关信息。

  除了捕捉运行时错误外,我们还可以创建并抛出自定义异常。我们可以创建一个Error,然后throw它。如下:

 

 

2、未处理的异常

 

    另一种处理机制是附加在window上的全局错误事件,用来捕获所有未处理的异常错误。我们可以创建一个处理这个错误事件的函数来跟踪未处理的错误。

错误处理函数的特征为有三个参数:错误信息、发生错误的页面URL、发生错误的行数。例子如下:

现在,当一个未处理错误产生的时候,我们的errorHandler将会接受。