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

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

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 异常机制的更多相关文章

  1. Java Script 学习笔记 -- 基础知识

    Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...

  2. 【Java学习笔记之三十三】详解Java中try,catch,finally的用法及分析

    这一篇我们将会介绍java中try,catch,finally的用法 以下先给出try,catch用法: try { //需要被检测的异常代码 } catch(Exception e) { //异常处 ...

  3. Java基础——异常机制

    [捕获异常] 硬件的错误.输入错误.物理限制等问题,都可能导致程序运行时的异常出现. 1.异常的分类层次 在java中,异常对象都是由Throwable类继承而来的,主要分为两大类: Error和Ex ...

  4. 【55】java异常机制剖析

    一.为什么要使用异常 首先我们可以明确一点就是异常的处理机制可以确保我们程序的健壮性,提高系统可用率.虽然我们不是特别喜欢看到它,但是我们不能不承认它的地位,作用.有异常就说明程序存在问题,有助于我们 ...

  5. Java基础 -- 深入理解Java异常机制

    异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...

  6. 面试题:Java必知必会:异常机制详解 背1

    一.Java异常概述 在Java中,所有的事件都能由类描述,Java中的异常就是由java.lang包下的异常类描述的. Trowable是所有异常的超类.  他的常用方法printStackTrec ...

  7. Java必知必会:异常机制详解

    一.Java异常概述 在Java中,所有的事件都能由类描述,Java中的异常就是由java.lang包下的异常类描述的. 1.Throwable(可抛出):异常类的最终父类,它有两个子类,Error与 ...

  8. Java核心知识体系3:异常机制详解

    1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到.网络连接失败.空指针.非法参数等. 异常是一个事件,它发生在程序运行期间,且中断程序的运行. Java ...

  9. Java 多重catch语句的具体使用介绍

    某些情况,由单个代码段可能引起多个异常.处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常.当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行.当 ...

随机推荐

  1. Junit初级篇

    @Test介绍 @Test是我们在写测试脚本时最常用到的,大部分情况下如果没用这个注解,一个方法就不能成为测试用例.如下代码是一个最普通的测试脚本: import org.junit.Assert; ...

  2. 解决kylin查询报错:org.apache.kylin.rest.exception.InternalErrorException

    报错信息: -- ::, ERROR [Query 12e9c054-760c---b1f06724c9b6-] service.QueryService: : Exception when exec ...

  3. 在Spark中自定义Kryo序列化输入输出API(转)

    原文链接:在Spark中自定义Kryo序列化输入输出API 在Spark中内置支持两种系列化格式:(1).Java serialization:(2).Kryo serialization.在默认情况 ...

  4. 二十道经典C#面试题

    1.在下面的代码中,如何引用命名空间fabulous中的great? namespace fabulous{// code in fabulous namespace}namespace super{ ...

  5. IDEA20181.4破解

    1.下载破解补丁: http://idea.lanyus.com/jar/JetbrainsIdesCrack-4.2-release-sha1-3323d5d0b82e716609808090d3d ...

  6. 【转】linux下的单线程

    传统的每个进程中只有一个线程在执行,称作单线程方法.MS-DOS是一种支持单用户进程和单线程的操作系统,UNIX支持多用户进程,但只支持每个进程一个线程,WINDOWS 2000(W2K).SOLAR ...

  7. JUC同步器框架AbstractQueuedSynchronizer源码图文分析

    JUC同步器框架AbstractQueuedSynchronizer源码图文分析 前提 Doug Lea大神在编写JUC(java.util.concurrent)包的时候引入了java.util.c ...

  8. [转发]在Visual Studio 2010/2012/2013/2015上使用C#开发Android/IOS安装包和操作步骤

    官方学习文档:http://developer.xamarin.com/guides/android/getting_started/ 官方学习例子:http://developer.xamarin. ...

  9. vnc/route/ifconfig 配置

    重启网卡的方法: 1 network 利用root帐户 # service network restart ############################################## ...

  10. 三次握手的第三个ACK包丢了,TCP的处理方式

    众所周知,TCP建立采用的是三次握手.最近在看论文的时候,突然想到,如果第三个ACK报文丢失了,TCP建立是否还会成功?TCP是如何处理的呢?在网上搜了一圈,看到了这篇文章: 三次握手的第三个ACK包 ...