zoukankan      html  css  js  c++  java
  • Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制

    Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制

    1. 语法错误(ERROR)和运行期错误(Exception1

    2. 错误类型判断 二种方法: 1

    3. 我们常接触到的异常包括: 2

    4. ------代码 2

    5. 参考 4

    1. 语法错误(ERROR)和运行期错误(Exception

    Javascript提供了两种特殊的错误处理方式

       BOM包含一个onerror事件处理函数,这个window对象与图像对象上都有

       同时ECMAScript定义了另一个从java中借鉴过来的try…catch结构来处理异常

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

    错误分类 

      1、语法错误:也称解析错误,发生在传统语言的编译时,在JavaScript中发生 在解释时。这些错误是由代码中的意外字符直接引起的,然后就不能直接编译/解释。发生语法错误时,就不能继续执行代码。在JavaScript中,只有在 同一个线程中的代码会受语法错误的影响。在其他线程中的代码和其他外部引用的文件中的代码,如果不依赖于包含错误的代码,则可以继续执行。 
      2、运行时错误:也称为异常(exception,在编译期/解释器后)。此时,问题并不出在代码的语法上,而是,尝试完成的一个操作,在某些情况下是非法的。异常只影响发生的线程,其他JavaScript线程即可继续正常的执行。

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

    2. 错误类型判断 二种方法:

    方法1:通过name属性判断

    方法2:  通过instanceof操作符

    如:try{  var scriptStr =" var a=0;var b=1;var c=a++b;alert(c)";

          eval(scriptStr);

     }catch(ex)

     {  if (ex instanceof SyntaxError)

         {  alert("语法出错了");  } }

    3.  我们常接触到的异常包括:

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

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

    ReferenceError:找不到对象的情况下

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

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

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

    4. ------代码

     function ValidException(msgx)

     {

    //this.type="" 

    this.type="ValidException";

    this.msg=msgx;

     }

     function validOafa(isAlert)

     {

    $(".ati-validatebox").each(function(){

                    //  if($(this).attr("height")>height)

                                var ops=(  $(this).attr("data-options") );

    var ops_json=eval( "({"+ops+"})" );

    if(ops_json.required)

    {

    if( $(this).val()=="")

    {

    if(isAlert)

      alert(ops_json.missingMessage);

    throw  new ValidException(ops_json.missingMessage);

    }

    }

                  });

      

     }

    try{

     validOafa(true);

     alert("other ...");

    }catch(e){

    // alert(e instanceof ValidException);

     if (e instanceof ValidException) 

     {

        alert(e.msg);

       throw "stop process...";

      }

     

    }

    5. 参考

    javascript异常处理 - 许乐 - 博客园.htm

    JavaScript高级程序设计 阅读笔记(二十) js错误处理_javascript技巧_脚本之家.htm

    Javascript的异常处理介绍 - 深蓝冰封 - ITeye技术网站.htm

  • 相关阅读:
    摒弃FORM表单上传图片,异步批量上传照片
    小功能——简单代码实现邮箱发送邮件
    小工具 ——快速生成验证码
    [转]C++11 多线程
    [转]线性插值&双线性插值&三线性插值
    [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
    windows的Timer和写文件方式串口注意!
    OPENCV3.1+VS 坑我笔记!
    最简单的PC机串口通信程序
    用MFC时,如果程序崩溃,检查内存,然后注意GDI数量,在任务管理器里选项-查看列-GDI数量
  • 原文地址:https://www.cnblogs.com/attilax/p/5963795.html
Copyright © 2011-2022 走看看