本站业务范围:1、PC端软件开发、网站开发 2、移动端APP、网站、微信接口、微商城开发 3、视频教程、毕业设计辅导
 当前位置:文章中心 >> 常见错误调试
立即购买视频教程 js容错语句,就是js出错也不提示错误
夜鹰教程网 来源:www.yyjcw.com 日期:2018/1/4 13:15:47
js容错语句,就是js出错也不提示错误

这篇文章不能解决你的问题?我们还有相关视频教程哦!

QQ:1416759661 新手QQ群:7835003  加Q远程协助!

在线解答|Demo制作|远程调试| 点击查看相关的视频教程

技术咨询: 购买教程  技术咨询:购买教程  大胆的加QQ咨询。

js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要不用户体验不好)



复制代码 代码如下:


window.onerror=function(){return true;} 




下面是为了获取js异常信息,方便开发者找回问题

1,try...catch...


复制代码 代码如下:


<script type="text/javascript">

var txt=""

function message()

{

try

   {

   adddlert("Welcome guest!")

   }

catch(err)

   {

     txt="本页中存在错误。\n\n"

     txt+="点击“确定”继续查看本页,\n"

     txt+="点击“取消”返回首页。\n\n"

     if(!confirm(txt))

         {

         document.location.href="/index.html"

         }

   }

}

</script>

2 ,throw


复制代码 代码如下:


<script type="text/javascript">

var x=prompt("请输入 0 至 10 之间的数:","")

try

{

if(x>10)

  throw "Err1"

else if(x<0)

  throw "Err2"

else if(isNaN(x))

  throw "Err3"

}

catch(er)

{

if(er=="Err1")

  alert("错误!该值太大!")

if(er == "Err2")

  alert("错误!该值太小!")

if(er == "Err3")

  alert("错误!该值不是数字!")

}

</script>

3,onerror:


复制代码 代码如下:


<script type="text/javascript">

onerror=handleErr

var txt=""

function handleErr(msg,url,l)

{

txt="本页中存在错误。\n\n"

txt+="错误:" + msg + "\n"

txt+="URL: " + url + "\n"

txt+="行:" + l + "\n\n"

txt+="点击“确定”继续。\n\n"

alert(txt)

return true

}


function message()

{

adddlert("Welcome guest!")

}

</script>




js中的异常处理

在JavaScript可以使用try...catch来进行异常处理。例如:   


try { foo.bar();} catch (e) { alert(e.name + ": " + e.message);} 

目前我们可能得到的系统异常主要包含以下6种:


EvalError: raised when an error occurs executing code in eval()  

RangeError: raised when a numeric variable or parameter is outside of its valid range  

ReferenceError: raised when de-referencing an invalid reference  

SyntaxError: raised when a syntax error occurs while parsing code in eval()  

TypeError: raised when a variable or parameter is not a valid type  

URIError: raised when encodeURI() or decodeURI() are passed invalid parameters  

上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法: 


new Error();new Error("异常信息"); 

手工抛出异常的方法如下:



复制代码 代码如下:


try { 

throw new Error("Whoops!");}

catch (e) { 

alert(e.name + ": " + e.message);} 

如要判断异常信息的类型,可在catch中进行判断:





复制代码 代码如下:


try {

foo.bar();

} catch (e) { 

if (e instanceof EvalError) {  

alert(e.name + ":" + e.message); 

}  else if (e instanceof RangeError) {

alert(e.name + ": " + e.message); }  

// etc 

Error具有下面一些主要属性:


description: 错误描述 (仅IE可用).  

fileName: 出错的文件名 (仅Mozilla可用).  

lineNumber: 出错的行数 (仅Mozilla可用).  

message: 错误信息 (在IE下同description)  

name: 错误类型.  

number: 错误代码 (仅IE可用).  

stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).  

因此为了更好的了解错误信息我们可以将catch部分改为如下形式:   

 


复制代码 代码如下:


try {

    foo.bar();

} catch(e) {

    if (browserType != BROWSER_IE) {

        alert("name: " + e.name + "message: " + e.message + "lineNumber: " + e.lineNumber + "fileName: " + e.fileName + "stack: " + e.stack);

    } else {

        alert("name: " + e.name + "errorNumber: " + (e.number & 0xFFFF) + "message: " + e.message ");         } } "

JavaScript中的throw命令事实上可以抛出任何对象,并且我们可以在catch接受到此对象。例如:


复制代码 代码如下:


try {

    throw new Date(); // 抛出当前时间对象 } catch (e) { alert(e.toLocaleString()); // 使用本地格式显示当前时间

    }


复制链接 网友评论 收藏本文 关闭此页
上一条: 使用alert() 和document.write() …  下一条: JS错误处理与调试的方法
购买夜鹰教程网视频教程
  推荐教程/优惠活动

  热门服务/教程目录

  夜鹰教程网  新手必看,详细又全面。
  夜鹰教程网  购买教程  夜鹰教程网  在线支付-方便
  夜鹰教程网  担保交易-快捷安全   夜鹰教程网  闪电发货
  夜鹰教程网  电话和QQ随时可以联系我们。
  夜鹰教程网 不会的功能都可以找我们,按工作量收费。

客服电话:153 9760 0032

购买教程QQ:1416759661  购买教程
  热点推荐
看看你的电脑是否可以运行Windows…
断点调试其实并不是多么复杂的一件…
使用alert() 和document.write() …
js容错语句,就是js出错也不提示错…
JS错误处理与调试的方法
对一个或多个实体的验证失败。有关…
几款常用的录屏软件
中国计算机软件设计师考试大纲
  尊贵服务
夜鹰教程网 承接业务:软件开发 网站开发 网页设计 .Net+C#+VS2008+MSsql+Jquery+ExtJs全套高清完整版视频教程
  最近更新
断点调试其实并不是多么复杂的一件…
使用alert() 和document.write() …
js容错语句,就是js出错也不提示错…
JS错误处理与调试的方法
对一个或多个实体的验证失败。有关…
几款常用的录屏软件
中国计算机软件设计师考试大纲
看看你的电脑是否可以运行Windows…
  工具下载  需要远程协助? 购买教程

sql2008视频教程 c#视频教程

VIP服务:如果您的某个功能不会做,可以加我们QQ,给你做DEMO!

JQUERY  Asp.net教程

MVC视频教程  vs2012
.NET+sql开发
手机:15397600032 C#视频教程下载
vs2012 vs2008 vs2010 sql2008 sql2005
Asp.Net  

教程咨询QQ:1416759661


这篇文章不能解决你的问题?我们还有相关视频教程哦!

QQ:1416759661 新手QQ群:7835003  加Q远程协助!

在线解答|Demo制作|远程调试| 点击查看相关的视频教程

技术咨询: 购买教程  技术咨询:购买教程  大胆的加QQ咨询。

出售asp.net系列视频教程 高清原创版 每天晚上20:30--23:00在线 按照编号从简单到高级 http://www.yyjcw.com/list.html