`
tmw107jv
  • 浏览: 13459 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

[javascript][Error]ie下Error对象

 
阅读更多

[javascript][Error]ie下Error对象
2011年05月22日
  今天谈一下在IE浏览器下返回执行错误的Javascript代码所在的问题。其中在IE浏览器下,如果你使用了try-catch,那么当出现异常的时候,IE浏览器会传递一个Error对象。
  
  try{
  sldfj
  }catch(e){
  for(var p in e){
  document.writeln(p + “=” + e[p]);
  }
  }
  输出:name=TypeError message=’sldfj’ 未定义 number=-2146823279 description=’sldfj’ 未定义
  其中的number属性是一个整数,表示的是错误码,但这并不是真正的错误码,我们需要先将其做一下转换
  var errCode = err.number& x0FFFF; 这得到真正的错误码,例如上述的-2146823279 转换之后就得到5009。有了这个错误码之后,我们可以到http://msdn.microsoft.com/en-us/library/1dk3k160(V S.85).aspx微软msdn上查找此错误码对应的。5009对应的错误是Undefined identifier。
  javascript Error 对象 错误处理
  Error对象
  Property:
  name: 错误名
  number: 错误号
  description: 描述
  message: 错误信息,多同description
  FF Only 属性
  fileName: 错误发生的文件
  stack: 错误发生时的调用堆栈
  Constructor:
  Error(){
  this(0,”")}
  Error(description){
  this(0,description)}
  Error(number,description){
  ….}
  构造函数参数不带name,是因为Error对象的name对应于它的来源:
  EvalError: 错误发生在eval()中
  SyntaxError: 语法错误,错误发生在eval()中,因为其它点发生SyntaxError会无法通过解释器
  RangeError: 数值超出范围
  ReferenceError: 引用不可用
  TypeError: 变量类型不是预期的
  URIError: 错误发生在encodeURI()或decodeURI()中
  抛出Error:
  throw new Error(0,”Error Demo”);
  new Error可省略:
  throw(”Error Demo”);
  捕获Error:
  try catch finally语句:
  try{
  ..可能错误的语句..}
  catch(e){
  ..错误发生后的处理..}
  finally{
  ..完成后执行的语句块..}
  finally不是必须的
  如果嵌套,两个catch不要使用同一个参数名,以免覆盖
  传入的参数是一个Error对象,可以从中得到错误信息
  FF支持一个try多个catch,因为Js为弱类型不推荐使用
  window.onerror错误捕获:
  window.onerror=function(Msg,Url,Num){}
  onerror事件会传给回调函数3个默认参数
  Msg: 错误信息
  Url: 发生错误的文件的Url
  Num: 错误发生位置的行号
  window.onerror还能处理SyntaxError,比try catch更强大。
  但是onerror属于bom,所以各浏览器厂家对其的支持都不同。
  如IE发生error时,正常的代码会继续执行;在FF中,代码将结束;Safari只支持Image的onerror事件处理。
  Image.onerror
  onerror还可以应用于其它HTMLElement上,最常见的是元素
  
  处理Error:
  判断错误类型:
  catch(e){
  if(e.name==”RangeError”)
  alert(”错误提示”);}
  或
  catch(e){
  if(e instanceof TypeError)
  alert(”错误提示”);}
分享到:
评论

相关推荐

    javascript完全学习手册1 源码

    第2篇 JavaScript内置对象篇 第3章 JavaScript内置对象 43 3.1 JavaScript对象概述 43 3.1.1 对象的概念 43 3.1.2 使用JavaScript对象 基础知识 44 3.2 Array对象 46 3.2.1 创建Array对象 46 3.2.2 Array对象属性 ...

    javascript常用对象梳理

    熟练掌握window对象的status、location、name、self、opener属性的使用 Window对象是客户端javascript最高层对象之一,只要打开浏览器窗口,不管该窗口中是否有打开的网页,当遇到BODY、FRAMESET或FRAME元素时,...

    javascript完全学习手册2 源码

    3.1.2 使用JavaScript对象基础知识 3.2 Array对象 3.2.1 创建Array对象 3.2.2 Array对象属性 3.2.3 Array对象方法 3.3 String对象 3.3.1 创建String对象 3.3.2 String对象属性 3.3.3 String对象方法...

    Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法

    [removed] ”trone”> </tr> 在IE中,有时候会出现”未知的运行时错误(unknown runtime error)”,而在firefox里不会。 这主要是IE在对innerHTML进行写操作的时候会检查element是否具备做为这些内容中html对象容器的...

    解决 IE 不支持 JSON 对象

    IE不支持JSON对象的问题,看代码示例: <script type="text/javascript"> if(typeof (JSON) == 'undefined'){ $.getScript("plug-in/tools/json2.js"); } </script>

    JavaScript王者归来part.1 总数2

     7.5.3 Error对象   7.5.4 其他内置对象   7.5.5 特殊的对象--全局对象与调用对象   7.6 总结   第8章 集合  8.1 数组和数组元素   8.1.1 数组的构造   8.1.2 数组常量   8.1.3 数组元素   8.2 ...

    Javascript数组操作高级心得整理

    (1) JavaScript对象也是有属性和方法的 15  对象属性的使用 15  对象方法的使用 15 (2) 对象的定义与实例化 15 (3) 对象的作用域 16  JavaScript对象只有公用作用域 16  JavaScript对象没有静态作用域 16 ...

    IE10 Error.stack 让脚本调试更加方便快捷

    在IE10中已经新加入了Error.stack 的支持,可以加快开发人员的脚本调试,并更正错误。尤其是一些难以重现的错误,如异步操作等。...如果被引发的对象是一个 Error(或者是一个函数,且其原型链将导致 Erro

    IE8 下的Js错误HTML Parsing Error…

    网页错误详细信息 用户代理: Mozilla/4.0 (compatible...消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)行: 0字符: 0代码: 0 今天调试一段J

    javascript函数的解释

    52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number, Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError 53.JS中的换行:\n 54.窗口全屏大小:<script>...

    详解vue 兼容IE报错解决方案

    Babel 默认只转换新的 JavaScript 语法(如箭头函数),而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等新的对象或者方法。 例如 Promise 、新的原生方法如 String....

    JavaScript内容复制Clipboard.js.zip

    clipboard.js 实现了纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。可以在浏览器和 Node 环境中使用。支持 Chrome 42 、Firefox 41 、IE 9 、Opera 29 示例代码:[removed][removed]  class=...

    javascript权威指南(第六版)

    20.3 IE userData Persistence 599 20.4 Application Storage and Offline Webapps 601 21. Scripted Media and Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    Ajax完全自学手册(PPT)

    Test4To&FromElemnt.htm IE中event对象的fromElement、toElement属性 Test4relatedElement.htm DOM标准event对象的relatedTarget属性 Test4MultKeyEvent.htm 还原键盘事件原貌 Load & Unload.htm HTML ...

    Ajax完全自学手册PPT和源代码(ptt格式)

    Test4To&FromElemnt.htm IE中event对象的fromElement、toElement属性 Test4relatedElement.htm DOM标准event对象的relatedTarget属性 Test4MultKeyEvent.htm 还原键盘事件原貌 Load & Unload.htm HTML 加载事件 ...

    Ajax完全自学手册(源代码).rar

    Test4To&FromElemnt.htm IE中event对象的fromElement、toElement属性 Test4relatedElement.htm DOM标准event对象的relatedTarget属性 Test4MultKeyEvent.htm 还原键盘事件原貌 Load & Unload.htm HTML ...

    大名鼎鼎SWFUpload- Flash+JS 上传

     SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的...

    107个常用javascript语句

    84.JS中的模態显示在IE4 行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay ...

    JavaScript代码调试方法实例小结

    IE8、Firefox、Chrome 和 Safari 中可以使用 console 对象向 JavaScript 控制台写入消息,它有这些方法: error(message):错误性消息。 info(message):信息性消息。 log(message):一般性消息。 warn(message)...

Global site tag (gtag.js) - Google Analytics