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 相关文章推荐
JS画线(实例代码)
Nov 20 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 Javascript
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
javascript实现平滑无缝滚动
Aug 09 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
AngularJS指令用法详解
Nov 02 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
基于JavaScript实现单例模式
Oct 30 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连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
Python解析xml中dom元素的方法
2015/03/12 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python安装requests库的实例代码
2019/06/25 Python
pandas分区间,算频率的实例
2019/07/04 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
如何使用python进行pdf文件分割
2019/11/11 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
服装设计专业自荐书范文
2013/12/30 职场文书
品牌服务方案
2014/06/03 职场文书
中学社团活动总结
2015/05/07 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
汉语拼音教学反思
2016/02/22 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书