首页 > 其他 > 详细

错误调试

时间:2019-03-24 12:18:59      阅读:119      评论:0      收藏:0      [点我收藏+]

各个浏览器都有打开自己错误调试的方法,ie需在工具栏中打开,但没有控制台,会弹出弹窗,其它浏览器还好,都能显示控制台;

try{}catch(error){}finally{}:这个try-catch语句经常用到,将可能发生错误的语句块儿放在try里,将发生错误后执行的代码放在catch里,finally语句块儿 是可选的,如果存在,无论执行try还是catch最后都会执行finally,需要注意的是,当try或catch里有return时,而finally也存在return,则finally里的return会覆盖前面两个的return。

 

错误类型

Erroe:Error是基本类型,所有报错类型都继承该类型

EvalError:eval()函数执行发生错误时发生

RangeError:数值超出范围

ReferenceError:找不到对象

SyntaxError:将错误语法的字符串传入eval()方法时发生

TypeError:执行指定类型的操作时,变量类型不对时抛出

URIError:url解码编码错误时抛出

 

throw  可以抛出自定义错误信息,在throw后面跟上自定义的错误信息即可,无类型规定。

            throw 12345;
            throw "hellow";
            throw true;
            throw {name:"error"};
            throw "aaa未定义";
            throw new Error("错误信息");
            throw new SyntaxError("错误信息");
            throw new RangeError("错误信息");
            throw new EvalError("错误信息");
            throw new URIError("错误信息");
            throw new ReferenceError("错误信息");

利用原型链还可以继承Error来创建自定义错误类型。此时需要为新创建的错误类型指定name和message属性。

    function CustomError(message){
            this.name="CustomError";
            this.message=message;
      }
      CustomError.prototype=new Error();
      throw new CustomError("my message");

也可以用onerror事件来代替浏览器自身的报错,不过得阻止浏览器的默认报错:

    window.addEventListener("error",function(message){
            console.log(message);
            return false;//竟然并无卵用,浏览器自身还是要报错;
      },false);
      console.log(aaa);

图像也支持error事件。只要图像中url特性中的URL不能返回可以被识别的图像格式,就会触发error事件。此时error事件遵循DOM格式,会返回一个以图像为目标的event对象:

    var image=new Image();
      image.addEventListener("load",function(event){
            console.log("image loaded!");
      },false);
      image.addEventListener("error",function(event){
            console.log("image not loaded!");
      },false);
      image.src="haaa.gif";//指定的文件不存在

 

错误调试

原文:https://www.cnblogs.com/fqh123/p/10587489.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!