学科分类
目录
JavaScript网页编程

如何进行错误处理

在编写JavaScript程序时,经常会遇到各种各样的错误,如调用了不存在的方法、引用了不存在的变量等。下面我们通过代码演示演示错误发生的情况。

 1  var o = {};

 2  o.func();        // 这行代码会出错,因为调用了不存在的方法

 3  console.log('test');  // 前面的代码出错时,这行代码不会执行

通过浏览器访问测试,页面中没有任何内容,在控制台中会看图1所示的效果。

img

图1 查看错误信息

从图1所示的错误信息可以看出,当前发生了一个未捕获的TypeError类型的错误,错误信息是“o.func不是一个函数”,发生错误的代码位于test.html的第3行。

当发生错误时,JavaScript引擎会抛出一个错误对象,利用try…catch语句可以对错误对象进行捕获,捕获后可以查看错误信息。下面我们通过代码演示try…catch的使用。

 1  var o = {};

 2  try {          // 在try中编写可能出现错误的代码

 3   o.func();

 4   console.log('a');   // 如果前面的代码出错,这行代码不会执行

 5  } catch(e) {      // 在catch中捕获错误,e表示错误对象

 6   console.log(e);

 7  }

 8  console.log('b');    // 如果错误已经被处理,这行代码会执行

通过浏览器访问测试,会发现原来的错误提示消失了,取而代之的是第6行代码在控制台中输出了错误信息。如图2所示。

img

图2 捕获错误对象

通过运行结果可以看出,当try中的代码发生错误时,利用catch可以进行错误处理。需要注意的是,如果try中有多行代码,只要其中一行出现错误,后面的代码都不会执行;如果错误已经被处理,则catch后面的代码会继续执行。由此可见,编写在try中的代码量应尽量减少,从而避免错误发生时造成的影响。

点击此处
隐藏目录