首页 > 代码库 > Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制

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

 

 

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