错误处理与调试

1、浏览器错误报告

(1) 浏览器按F12进入控制台查看错误。
(2) try{}catch(e){alert(e)}屏蔽错误,e表示错误对象,e.name表示错误类型,e.message表示错误信息。IE9以下版本不支持 e.name 只支持e.message属性。
(3)finally 作为try catch的可选字句,是否发生异常都会执行。

2、错误类型

(1)Error 是基类型(是其他6种错误类型的父类),Error类型很少见,一般都是由浏览器抛出。
(2)Eval Error 很少出现的错误, 表示全局函数eval()的使用方式与定义的不同
(3)Range Error 范围错误,一般是数据超过基本类型的范围或数组元素超出范围
(4)Reference Error 引用错误,一般都是变量未定义引发的,或变量不存在。
(5)Syntax Error 语法错误
(6)Type Error 类型错误
(7)URI Error 如果URI格式不正确时抛出的错误。

3、错误处理

(1) 善用try{}catch{}:可以通过修改代码来排错的,不需要使用try{}catch{},浏览器兼容性问题,可以通过判断浏览器或判断是否支持某个属性或方法来判断。在无法修改代码的情况下,可能会发生错误,这个时候用try{}catch{}(如:网络中断)。
(2) 抛出错误

 try{
        var a=new 10();
    }catch(e){
        throw new Error(e.message); //抛出错误对象
    }

(3) 错误事件,当有错误发生时会报错

 addEvent(window, 'error', function(){
        alert('出现了一个错误');
 });

(4) 相等和全等

//相等(==)比较的是数值
//全等(===)比较的是数值和类型
PS: 在类型不想等的情况下、建议使用全等===

4、错误调试

(1) 程序非常庞大的时候,字符串有可能是上下文的变量或者函数里面的返回值
(2) 如果alert()可以执行,那么前面就没有错误
(3) 现在的浏览器都可以用控制台来调试代码,在代码之间插入console.log()来打印错误信息,避免了不必要的的弹窗
(4) 设置断点,单步调试,监控等方式调试错误。

你可能感兴趣的:(错误处理与调试)