加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

如何在JavaScript中进行异常处理

发布时间:2023-09-01 14:44:05 所属栏目:教程 来源:
导读:js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要不用户体验不好)

代码如下:

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

下面是为了获取js异常信息,方便开发者找回问题
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);}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章