JavaScript 捕获错误

JavaScript有两种在网页中捕获错误的方法:

1、使用 try...catch 语句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用) 

try...catch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。

语法:

try
{
   //在此运行代码
}
catch(err)
{
   //在此处理错误
}


2、使用 onerror 事件。这是用于捕获错误的老式方法。(Netscape 3 以后的版本可用) 

使用 onerror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。

只要页面中出现脚本错误,就会产生 onerror 事件。
如果需要利用 onerror 事件,就必须创建一个处理错误的函数。你可以把这个函数叫作 onerror 事件处理器 (onerror event handler)。这个事件处理器使用三个参数来调用:msg(错误消息)、url(发生错误的页面的 url)、line(发生错误的代码行)。

语法:

οnerrοr=handleErrFunction handleErr(msg,url,line)

{

//Handle the error here

return true or false;

}

浏览器是否显示标准的错误消息,取决于 onerror 的返回值。如果返回值为 false,则在控制台 (JavaScript console) 中显示错误消息。反之则不会。


示例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Test01.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <script type="text/javascript">
    	onerror = handleErr
    	var txt1 = "";
    	var txt2 = "";
    	function message1(){
    		try{
    			alter("Welcome to lhg blog !");//alter-->alert
    		}
    		catch(err){
    			txt1="本页中存在错误。\n\n";
    			txt1+="错误描述:" + err.description + "\n\n";
    			txt1+="点击”确定“继续查看本页。\n\n";
    			txt1+="点击”取消“转到百度。\n\n"
    			//alert(txt);
    			if(!confirm(txt1)){
    				document.location.href="www.baidu.com";
    			}
    		}
    	}
    	function handleErr(mag,url,line){
    		txt2="本页中存在错误。\n\n";
    		txt2+="错误:"+msg+"\n";
    		txt2+="URL:"+url+"\n";
    		txt2+="line:"+line+"\n";
    		txt2+="点击”确定“继续。\n\n";
    		alert(txt2);
    		return true;
    	}
    	function message2(){
    		alter("Welcome to lhg blog !");
    	}
    </script>

  </head>
  
  <body>
    This is test page. <br>
    <input type="button" value="使用try...catch查看消息" οnclick="message1()" /></br></br>
    <input type="button" value="使用onerror查看消息" οnclick="message2()" /></br></br>
  </body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值