js异常处理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
js异常处理

这两天看了js的异常处理结构和现有的代码,总结了一些经验。 js的异常处理机制和java的类似的,可以自动向调用函数抛出。 目前有两种方案 ? 方案一:借助window.onerror事件 这个方法可以避免在每个函数中使用try{}catch{},但是在目前的试验中这个方法有一点非常奇怪的bug,不知道是什么原理。 如下代码: window.onerror=fnErrorTrap; function fnErrorTrap(msg,url,line) { ?oErrorLog.innerHTML=bAn error was thrown and caught./bp; ?oErrorLog.innerHTML+=Error: + msg + br; ?oErrorLog.innerHTML+=Line: + line + br; ?oErrorLog.innerHTML+=URL: + url + br; ?alert(window.onerror.caller); ??? return true; } ? 方案二:使用try{}catch{}主法 使用原则是在每个事件中使用,因为目前的代码都是事件驱动的,在事件函数中catch后就不要再抛出异常,在catch中调用异常信息的 统一处理(还未定义)。 此外,在事件驱动的函数中我们有可能会调用别的函数(如fun1),在fun1的可以不捕捉任何异常,如果使用了try catch,应该抛出一个 封装的异常。 如下 try{} catch(e){  throw new Error(my error); } ? 大家先看一看,有什么不懂的可以问我,过两天会出一个更细的方案。 }catch(e){}的方式 使用的原则是: 在每个事件触发的函数中使用try{}catch{} 如下: try { fun1(); fun2(); ……. } catch(e) { Log.error(e.message); } 在事件函数中被调用的函数fun1()中可以不使用try{}catch(){},如果有使用try{}catch(){},则必须按如下方式   try{} catch(e){  throw new Error(my error); } 3.在pubjs/commonjs/下新增public.js文件,必须包含该文件在页面上。 SCRIPT src=../pubjs/commonjs/public.js/SCRIPT public.js中包含一个Log的类,默让会使用error的级别,只显示level为error的错误。就象log4j一样,提供了Log.error(message,lbl),Log.debug(message,lbl)两组方法,可以通过设置等级,关闭提示信息的范围。第二个参数是一个Label或Span或Div对象,可以把错误或调试的信息设置在上面,默认可不传,将采用alert()的方式提示信息。 提示信息的格式是: 页面路径::9080/main.jsp 调用函数:(只能取到最后调用Log方法的函数) 错误信息: 设置等级:Log.level = “error”;(“debug”,”normal”); 如设为debug将会把所有Log.error(),Log.debug()的显示都提示出来。 如设为normal将关闭所有提示信息。 如设为error将只显示Log.error()的信息。 建议在catch(){}块中使用Log.error()方法,其它地方使用debug,以便关闭不必要的调试信息。 说明:Error对象包含有四个固有的属性(name,number,message,description),其中message和description指向相同的信息,其中descriptiong是为了向后兼容而保留的,message是符合ECMA标准的。 下面是古文鉴赏,不需要的朋友可以下载后编辑删除!!谢谢!! 九歌·湘君?屈原??朗诵:路英 君不行兮夷犹,蹇谁留兮中洲。? 美要眇兮宜修,沛吾乘兮桂舟。? 令沅湘兮无波,使江水兮安流。? 望夫君兮未来,吹参差兮谁思。? 驾飞龙兮北征,邅吾道兮洞庭。? 薜荔柏兮蕙绸,荪桡兮兰旌。? 望涔阳兮极浦,横大江兮扬灵。? 扬灵兮未极,女婵媛兮为余太息。? 横流涕兮潺湲,隐思君兮陫侧。? 桂棹兮兰枻,斫冰兮积雪。? 采薜荔兮水中,搴芙蓉兮木末。? 心不同兮媒劳,恩不甚兮轻绝。? 石濑兮浅浅,飞龙兮翩翩。? 交不忠兮怨长,期不信兮告余以不闲。? 朝骋骛兮江皋,夕弭节兮北渚。她含着笑,切着冰屑悉索的萝卜,?? 她含着笑,用手掏着猪吃的麦糟,?? 她含着笑,扇着炖肉的炉子的火,?? 她含着笑,背了团箕到广场上去?? 晒好那些大豆

文档评论(0)

xvli2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档