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将会接受。

本文介绍了JavaScript中的两种错误处理机制:try-catch-finally用于捕获已知的运行时错误,而全局错误事件则用于处理未被捕获的异常。此外,还展示了如何通过自定义错误对象来创建和抛出异常。
1595

被折叠的 条评论
为什么被折叠?



