码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript高级程序设计学习笔记--错误处理与调试

时间:2014-07-08 23:26:00      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   java   color   使用   

try-catch语句

只要代码中包含finally子句,则无论try或catch语句块中包含什么代码--甚至return语句,都不会阻止finally子句的执行,来看下面这个函数:

 function testFinally(){
   try{
     return 2;
   }catch(error){
     return 1;
   }finally{
     return 0;
   }
 }

调用这个函数会返回0(PS:但我实际执行的时候会先返回0,再返回2)

抛出错误

与try-catch语句相配的还有一个throw操作符,用于随时抛出自定义错误。抛出错误时,必须要给throw操作符指定一个值。

throw 12345;
throw "Hello world!";

类型转换错误

类型转换错误发生在使用某个操作符,或者使用其他可能会自动转换值的数据类型的语言结构时。在使用相等(==)和不相等(!=)操作符,或者if、for及while等流控制语句中使用
非布尔值时,最常发生类型转换错误。
多数情况下,我们建议使用全等(===)和不全等(!==)操作符,以避免类型转换。来看一下例子:

alert(5=="5"); //true
alert(5==="5"); //false
alert(1==true); //true
alert(1===true); //false

使用全等和非全等操作符,可以避免发生因为使用相等和不相等操作符引发的类型转换错误,因此我们强烈推荐使用。

数据类型错误

添加一条简单的类型检测语句,就可以确保函数不那么容易出错。

 function getQueryString(url){
   if(typeof url=="string"){  //通过检查类型确保安全
    var pos=url.indesOf("?");
    if(pos>-1){
      return url.substring(pos+1);
    }
   }
 }

大体上来说,基本类型的值应该使用typeof来检测,而对象的值则应该使用instanceof来检测。

将消息记录到控制台

可以通过console对象向JavaScript控制台中写入消息,这个对象具有下列方法:
error(message):将错误消息记录到控制台
info(message):将信息记录到控制台
log(message):将一般消息记录到控制台
warn(message):将警告消息记录到控制台

系统无法找到指定资源

在使用JavaScript请求某个资源URL,而该URL的长度超过了IE对URL最长不能超过2083个字符的限制时,就会发生这个错误。

JavaScript高级程序设计学习笔记--错误处理与调试,布布扣,bubuko.com

JavaScript高级程序设计学习笔记--错误处理与调试

标签:des   style   blog   java   color   使用   

原文地址:http://www.cnblogs.com/Gyoung/p/3830415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!