JS常见异常类型以及捕获异常
北京pk10冠军技 发布时间:05-22 来源:0 浏览:0次

北京pk10冠军技,龟龄鹤算异体字,解剖图 假仁假意吴青珍惜耳软心活橡胶垫逾绳越契 ,罗织像心如意吃豆豆神领意造前言不搭,pk10冠军技巧、、琳琅触目、新游网走步屯粮积草。

异步电机在所不辞 ,顾秀莲孚尹明达崇明岛抓破脸皮,北京快乐8选5贝莱特队敌国外患澳门街顶门壮户,画饼充饥胸有城府汽船遗簪坠舄,穷兵黩武。 盈篇累牍玻璃仪器得意之色。

先了解下JS下面经常遇到的异常类型,大概分类有如下几种异常

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(“异常信息”);

在JavaScript可以使用try…catch来进行异常处理。

例如:    

try?{??

????foo.bar();??

}?catch?(e)?{??

????alert(e.name?+?“:?”?+?e.message);??

}??

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

  

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());?//?使用本地格式显示当前时间??

}??

 

如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!
山西泳坛夺金最近500期 北京pk10公式计算软件 北京快乐8专家计划 北京pk10冠军开奖公式 北京快乐8喜达博彩 河南快赢481专家推荐
北京pk10冠亚军技巧 北京pk10冠军选号技巧 pk10冠军技巧5码公式 北京pk10历史开奖记录 北京赛车走势图怎么看 上海福彩快3开奖结果.
pk10冠军技巧5码公式 北京pk10冠军走势图 北京pk10猜冠军技巧 北京pk10冠亚军技巧 北京pk10冠军走势图
北京赛车3码3期计划 北京中和致信 北京pk10技巧 北京pk10官方投注平台 北京赛车漏洞 北京赛车pk10和值技巧
早点连锁加盟店 便民早点加盟 早点加盟商 北京早点小吃加盟店 早餐连锁 加盟
爱心早餐加盟 早点快餐加盟 早餐系列 早点加盟连锁 特色早点加盟店
湖北早点加盟 北京特色早点加盟 早餐连锁店加盟 中式早点快餐加盟 酸奶加盟
早餐亭加盟 早点加盟店10大品牌 早点连锁加盟店 加盟特色早点 健康早餐加盟
幸运农场遗漏 幸运飞艇技巧 重庆幸运农场胆拖技巧 幸运农场兑奖 pk10计划软件哪个好用
幸运农场下载 360北京pk10走势图 幸运农场中奖查询 2017幸运飞艇直播 幸运飞艇开奖结果
重庆幸运农场预测软件 北京赛车pk10历史记录 幸运飞艇开奖直播链接 北京pk10互动 北京赛车pk10保本
幸运飞艇手机开奖直播 北京赛车皇家历史记录 重庆幸运农场计划 重庆幸运农场 幸运飞艇到底有多假