javascript  Error 对象 错误处理


Posted in Javascript onMay 18, 2008

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上,最常见的是<img />元素
    <img src="sample.jpg" onerror="javascript:alert('图像载入错误');" />

处理Error:
  判断错误类型:
    catch(e){
      if(e.name=="RangeError")
        alert("错误提示");}
    或
    catch(e){
      if(e instanceof TypeError)
        alert("错误提示");}

Javascript 相关文章推荐
jQuery入门第一课 jQuery选择符
Mar 14 Javascript
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
Feb 03 Javascript
浅析Js中的单引号与双引号问题
Nov 06 Javascript
Javascript获取表单名称(name)的方法
Apr 02 Javascript
js实现防止被iframe的方法
Jul 03 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
Sep 28 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
实践中学习AngularJS表单
Mar 21 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
Sep 27 Javascript
关于express与koa的使用对比详解
Jan 25 Javascript
Vue-路由导航菜单栏的高亮设置方法
Mar 17 Javascript
javascript:以前写的xmlhttp池,代码
May 18 #Javascript
JavaScript的9个陷阱及评点分析
May 16 #Javascript
认识延迟时间为0的setTimeout
May 16 #Javascript
用函数式编程技术编写优美的 JavaScript_ibm
May 16 #Javascript
Javascript模块模式分析
May 16 #Javascript
Dom加载让图片加载完再执行的脚本代码
May 15 #Javascript
直接生成打开窗口代码,不必下载
May 14 #Javascript
You might like
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
php图片添加水印例子
2016/07/20 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
Python使用django搭建web开发环境
2017/06/09 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
python ssh 执行shell命令的示例
2020/09/29 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
《钱学森》听课反思
2014/03/01 职场文书
五一活动标语
2014/06/30 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
婚宴父母致辞
2015/07/27 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB
使用python绘制分组对比柱状图
2022/04/21 Python