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 卷帘效果实现代码(不同方向)
Feb 05 Javascript
javascript中typeof的使用示例
Dec 19 Javascript
Javascript中的Callback方法浅析
Mar 15 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
Apr 24 Javascript
基于JavaScript实现弹幕特效
Aug 27 Javascript
基于node.js之调试器详解
Aug 22 Javascript
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
Js经典案例的实例代码
May 10 Javascript
vuex进阶知识点巩固
May 20 Javascript
vue 移动端记录页面浏览位置的方法
Mar 11 Javascript
vue中watch和computed的区别与使用方法
Aug 23 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
德劲1103二次变频版的打磨
2021/03/02 无线电
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
python实现电子词典
2020/04/23 Python
python代码制作configure文件示例
2014/07/28 Python
实例说明Python中比较运算符的使用
2015/05/13 Python
python中关于for循环的碎碎念
2017/06/30 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
工商企业管理专业自荐信范文
2014/04/12 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
承诺书模板
2014/08/30 职场文书
人才市场接收函
2015/01/30 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书