719 0

[休闲其它] Javascript的异常处理介绍 [推广有奖]

  • 0关注
  • 8粉丝

本科生

33%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
1.0000
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
1159 点
帖子
60
精华
0
在线时间
40 小时
注册时间
2015-7-14
最后登录
2015-9-17

楼主
一叶一菩提、 发表于 2015-7-24 13:25:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

昨天在网上找到一些课程有关的资料,整理一下,与麦子学院各位学员共享。

1、错误报告、错误处理以及代码调试,一直被认为是JavaScript的弱项,直到ECMAScript3和ECMAScript4的退出才得到改善。在ECMAScript中将JS的错误分为语法错误(ERROR)和运行期错误(Exception)。

2、不同的浏览器对于异常的处理策略不一样,下面列出了一些常用浏览器对于异常的处理以及一些操作方法:

  

浏览器类型

  
  

处理方法

  
  

备注说明

  
  

IE

  
  

有的版本会对错误进行弹出窗口、有的版本会在状态栏中显示“页面出现错误”

  
  

Mozilla

  
  

将错误信息记录的控制台中

  
  

Safari        

  
  

不对异常进行任何处理

  
  

可以通过下列方法进行处理:
  A、打开一个命令终端
  B、运行命令:defaults write com.apple.Safari IncludeDabugMenu 1
  C、重启Safari浏览器
  D、此时浏览器中工具栏中已经添加了Debug工具按钮,单击该按钮并选上“Log JavaScript Exceptions”选项
  E、在Application/Utilities下打开Console.app,现在就可以显示JS错误了

  
  

Opera

  
  

与Mozilla相似

  
  

可以通过选择菜单栏的窗口-->特殊插件-->JavaScript控制台来打开

  

3、主流的两种处理异常的方法:onError和try/catch/finally

4、onError是BOM的标准方法,用于捕获异常并进行处理。该方法激活时传递三个参数:ErrorMessage(错误报告消息)、URL(发生错误的URL地址)、LineNumber(错误所在行数)。例如:

Js代码 [url=][/url]

1.   onerror = handleErr;  

2.   function handleErr(msg, url, l){  

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

4.       txt += "错误:" + msg + "\n";  

5.       txt += "URL: " + url + "\n";  

6.       txt += "行:" + l + "\n\n";  

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

8.       alert(txt);  

9.       return true;  

10.  }  


不幸的是,onError是标准BOM对象,浏览器不同支持的不同,如Safari就不支持该模型方法。

5、try/catch/finally结构,catch捕获的是ExceptionError对象,该对象有两个属性,Name(Error对象的类型)、Message(错误信息)。与Java相比,JS的try/catch不支持一次catch多个异常,但是可以嵌套catch。用户也可以使用throw来抛出自己的异常。例如:

Js代码 [url=][/url]

1.   try {   

2.       fo.bar();   

3.   }catch (e) {   

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

5.   }   


6、到目前为止我们常接触到的异常包括:

EvalError:用eval()函数发生异常时抛出

RangeError:数值超出相应范围时触发

ReferenceError:找不到对象的情况下

SyntaxError:把语法错误的JavaScript字符串传入eval()函数

TypeError:变量中保存着意外的类型时,或访问不存在的方法时

URIError:使用encodeURI()或decodeURI(),而URI格式不正确时


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Javascript script scrip 异常处理 scri defaults 浏览器 工具栏 状态栏 控制台

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-22 01:18