zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计学习笔记--错误处理与调试

    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个字符的限制时,就会发生这个错误。

  • 相关阅读:
    【vue】vue +element 搭建项目,vue-cli 如何打包上线
    【移动端】单位em相关资料
    管道 |、|&、tee
    重定向
    Bash快捷键
    man 与 help
    linux磁盘分区、格式化、挂载
    目录(cd mkdir rmdir rm pwd ls) 文件(ln touch mv rm cat more head rail) 文件权限(chmod chown chgrp) 文件通配符(* ? [])
    用户环境变量 shell变量 别名
    用户、组和身份认证
  • 原文地址:https://www.cnblogs.com/Gyoung/p/3830415.html
Copyright © 2011-2022 走看看