Javascript学习--------程序调试和错误处理

使用try...catch...finally语句处理异常:

语法:

     try{

       //在这里运行代码

     }catch(exception e){

       //在这里处理错误

     }finally{

       //最终一定会被处理的语句

     }


catch中捕获的对象是Error对象,

      Error类是所有用于抛出异常的类的基类,类似于Java语言中的用于抛出异常的基类Exception,

      Error对象有两个属性:name和message;

      message:是错误的描述信息

      name:错误的类型。取值如下:EvalError :错误发送在eval()函数中;

                                  RangeError:数字的值超过Javascript可表示的范围;

                                  ReferenceError:使用了非法的引用;

                                  TypeError:变量类型错误;

                                  URIError:在encodeURI()函数、decodeURI()函数中发生了错误

     例子:

try{

  malert("message");
  
}catch(error){

  document.write(error.name+'<p>');
  
  document.write(error.message+'<p>'); 
  
}finally{

  document.write("语句结束");
  
}

运行结果:

   ReferenceError

    malert is not defined

    语句结束


使用throw语句抛出异常:

    在程序中使用throw语句可以有目的的抛出异常。

    语法:throw new Error("somestatements");

    例子:

try{

  var i = 1/0;
  
  if(i=="Infinity")throw new Error("除数不能为0");
  
}catch(err){

  document.write(err.name+"<p>");
  
  document.write(err.message);
  
}

    结果:

        Error

        除数不能为0


触发onerror事件处理异常

语法:

    window.onerror = function(){

        语句;

        return true;

    }

   function可以有参数(ms,Url,Line)

   分别表示: ms:异常信息

              Url:获取发生异常信息的文件

              Line:行号,给定发生异常文件的行号。

   如果没有使用return true;错误报告会弹出两次,一次是浏览器自己的错误报告。


使用Chrome进行调试:

http://han.guokai.blog.163.com/blog/static/136718271201321402514114/

http://www.cnblogs.com/wukenaihe/archive/2013/01/27/javascript%E8%B0%83%E8%AF%95.html


你可能感兴趣的:(JavaScript,程序调试)