对于js出现的非语法错误痛经怎么办快速解决快速找到并解决

总结Node.js中的一些错误类型
总结Node.js中的一些错误类型
Node.js应用中可能会发生多种类型的错误。如:当出现语法错误或运行时错误时,会触发JavaScript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误和系统错误错误外,用户还可以自定义错误。
1. 错误分类
Node.js是一个JavaScript运行时平台,其应用发生错误都是一个Error实例或Error子类的实例。
在Node.js应用中,可能发生的错误有以下4类:
&&&& 1、标准JavaScript错误,如:
&&&&&&&&& &EvalError& : 当调用 eval() 失败时抛出
&&&&&&&&&&&SyntaxError& : 当使用非法JavaScript语法时抛出
&&&&&&&&& &RangeError& : 当一个值不在指定范围内时抛出
&&&&&&&&& &ReferenceError& : 当使用未定义的变量时抛出
&&&&&&&&& &TypeError& : 当传递错误的类型参数抛出
&&&&&&&&& &URIError& : 当一个全局的URI函数被错误使用时抛出
&&&&&& 2、系统错误,这类错误由底层系统触发,如试图打开不存在的文件,试图通过已关闭的Soket发送数据时等
&&&&& &3、自定义错误,这类错误在应用代码中由用户指定触发
&&&&&& 4、断言错误,这类错误在代码违反合法逻辑时,由Node.js的assert模块触发
2. JavaScript错误与系统错误
2.1 JavaScript错误及自定义错误
标准JavaScript错误是由JavaScript语言提供的,表示语法错误或使用不当的API。所有错误都是一个Error类实例,而标准JavaScript错误会由语言本身在发生错误时构建。
自定义错误时,使用构造函数创建实例即可:
& throw new Error('出错了,这是错误信息');
Error: 出错了,这是错误信息
at repl:1:7
at REPLServer.defaultEval (repl.js:248:27)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.&anonymous& (repl.js:412:12)
at emitOne (events.js:82:20)
at REPLServer.emit (events.js:169:7)
at REPLServer.Interface._onLine (readline.js:210:10)
at REPLServer.Interface._line (readline.js:549:8)
at REPLServer.Interface._ttyWrite (readline.js:826:14)
如上,我们自定义了一个错误,并使用throw关键字将错误抛出。在这个错误对象中,包括错误信息message和错误的堆栈信息stack,在异常捕获后,可以通过以下两个属性来访问这些信息:
&&&&&& 1、error.message - 错误信息
&&&&&& 2、error.stack - 错误堆栈追踪信息
除Error实例本身的属性外,还可自定义一些错误属性。如,自定义一个表示状态的属性status:
var error = new Error('您访问的页面不存在');
error.status = 404;
2.2 系统错误
系统错误是对JavaScript错误Error对象的一个扩展,它们表示程序能够处理的操作错误,这些错误信息都是在系统级别生成的。系统错误实例中除Error实例中的属性外,还包括以下几个属性:
&&&&&& 1、error.syscall - 一个表示失败的系统调用信息的字符串
&&&&&& 2、error.errno - 一个整数的错误码
&&&&&& 3、error.code - 表示错误字符串,通常是大写字母E开头
3. 异常捕获
Node.js采用事件驱动、异步编程基制,这意味着try / catch捕获不到异步处理发生的错误。针对这种情况,我们可以使用以下两种方式来捕获或传递错误:
Node.js式回调函数中的异常捕获
Node.js有很多异步API,这些API通过回调函数callback进行后续处理。如果发生错误,通常会在callback函数的第一个参数中包含一个Error对象;如果未发生错误,第一参数将是null。如:
const fs = require('fs');
fs.readFile('一个不存在的文件', (err, data) =& {
if (err) {
console.error('读取文件错误', err);
// 其它处理
基于事件的错误处理
如果对象是一个EventEmitter,可以通过对象 的'error'事件捕获并处理错误:
const net = require('net');
const connection = net.connect('localhost');
// 为stream添加一个 'error' 事件处理器:
connection.on('error', (err) =& {
// 如果连接被服务器重置或连接不到指定的服务器
// 或其它连接错误时,错误会被传递到这里
console.error(err);
connection.pipe(process.stdout);
以上就是关于Node.js中的一些错误类型的总结,能够理解Node.js中错误类型,就可以帮我们更好的进行错误处理和异常捕获。希望本文的内容对大家能有所帮助。
Copyright & 2016 phpStudy引入JS文件IE6报语法错误或缺少对象问题的解决方法
解决“引入JS文件IE6报错”的问题
问题描述:
页面引入一个js文件,其中定义了函数或对象,然后在页面中调用函数或对象时,在IE6会报“语法错误”或“缺少对象”。在IE6+或者IE7却运行正常。
问题分析:
这个对象在引入的JS文件中是存在的,因为在IE6+以上的浏览器都可以正常运行。这个问题在于文件编码上,如果JS文件编码与当前页面的编码不一致,就可能导致在IE6中页面不能正常获取和解析JS文件中的内容,在IE6中,默认引入的文件和页面的编码是一致的。在IE6+以上的浏览器中,一般浏览器会自动识别每个外部文件的编码并进行解析;
问题解决:
一:引入js文件时加charset属性,保持与页面编码一致;
二:修改引入文件编码格式;
三:新建一个文件格式同页面编码格式一致,复制粘贴内容;
(个人建议第三种方法,但建议在导入js时加上charset属性!)
发现问题:
由于重装系统,发布项目后发现js报错:报语法错误还有缺少对象。郁闷
以前系统是ie7,重装系统后为ie6.刚开始以为是浏览器版本问题,以为页面导入的js里面有ie6不兼容的代码!所以最后把js一行一行注释掉,当最后js文件全删掉了,还出现上面错误。------超级郁闷
以前代码也没事,怎么重装个系统就坏了~最后找出以前项目发布了,在ie6下没有错误,代码完全一样。------------不知还能否用郁闷一词不?
想了半天,想到编码问题。以前项目编码为gb2312,现在项目改为UTF-8
&script language=&JavaScript& type=&text/javascript& src=&XX.js& charset=&UTF-8&& &/script&
加上后没起作用,再到js该编码格式改为UTF-8运行也不行。最后新建一个js文件编码格式改为utf-8,发布OK。
晕死,一般编码修改(1).增加charset。(2).修改文件编码格式。还到tomcat下查看也已经修改过了。不知道怎么回事!
可能要全删了在发布吧!!!不过问题总算解决~要是不重装系统,还发现不了这个小bug
----记下以后防止这种错误发生!
android.content.res.Resources$NotFoundException: String resource ID #0x6错误的解决办法
在开发过程当中遇到这个问题
08-17 18:12:24.835: E/AndroidRuntime(17951): FATAL EXCEPTION: main 08-17 18:12:24.835: E/AndroidRuntime(
[android]在eclipse中项目经常出现异常解决办法
1.刷新你的项目 2.clean你的项目 3.close你的项目 4.open你的项目 5.关你自己的项目---删掉路径下的bin/gen项目---打开你的项目---刷新---clean 6.
如何解决:新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误
问题概述:
在新建Android程序的时候出现以下错误:
找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
SDK不完整。
解决方法:
可在 \android
(转)内存溢出的解决办法 Android
(转)内存溢出的解决办法 Android
昨天在模拟器上给gallery放入图片的时候,出现java.lang.OutOfMemoryError: bitmap size exceeds VM budget 异常,图像大小超过了RAM内存。
模拟器RAM比较小,只有8M内存,当我放入的大量的图片
升级Android SDK到2.3错误的解决办法
升级了2.3的朋友应该知道,升级到2.3后,Eclipse会报错!不能编译运行了,解决办法如下。 1、因为升级后的2.3会在android-sdk-windows下创建一个platform-tools文件夹,其中包含了应该在tools文件夹下的东西,我们只需要将platform-tools文件夹下的所有文件复制到tools目录下。 2、然后在pl
ubuntu10.04安装repo时候出的问题 我执行这句
~/repo init -u git://android.git.kernel.org/platform/manifest.git 时提示
/home/administrator/bin/repo: line 1: 在未预料的“newline”附近出现语法错误 /home/administrator/bin/r
Android SDK更新以及ADT更新出现问题的解决办法(附google服务器地址) 问题描述
使用SDK Manager更新时出现问题
Failed to fetch URLhttps://dl-/android/repository/repository-6.xml,reason: Connection to https://dl-ssl.google.co
android中的接口和java中的接口 曾经写过一个demo验证过,就是在android中A类可以实现B类中的一个C接口中的方法,而在java中就实现不了并且会检测到语法错误。今天写下这段话也是为了警醒自己。
【求解决办法】电脑配置ADT老是出错 启动虚拟器的时候报的这个错误! Starting emulator for AVD 'First' Failed to allocate memory: 8 This application has requested the Runtime to terminate it in an unusual way. Please contact the appli
Android SDK下载慢的最给力解决办法
最近安装Android SDK时,用SDK manager下载SDK的速度很慢,要下完需要几天时间。 难以忍受之下决定找别的解决办法。被我发现SDK Manager启动时都会检查https://dl-/android/repository/repository.xml
于是进去看了下,好东西,SDK的文件名都
Android工程报错常见解决方法
1、R.java: No such file or directory 问题的解决方案 方法1:查看是否缺少jar包, 方法2:右击工程-》bulid path-》configure build path-》java build path-》order and Export 把里面的android 2.2勾上(我用的adk是2.2)
android 找不到AVD 的解决办法
1 像添加java_home环境变量一样添加一个 ANDROID_SDK_HOME
2 新建avd。则会有一个 .android 文件夹创建在 ANDROID_SDK_HOME 指向的目录
3 运行 emulator.
华为终端 收到华为终端的offer,软件研发的,主要做什么,发展前景怎么样,麻烦各位前辈指点一下,先谢过!!
------解决方案--------------------
说实话,做什么这种问题你应该向HR问清楚,而不是来论坛里面问.如果你现在没有清楚得知道你想做什么,公司给你做什么,以后你都会不舒服.
------解决方案--------------------
应届生吧,华为社招应该
android中引用项目出现红色大感叹号的问题解决方法
今天,引入了一个项目,但是出现了一个问题,项目上出现了一个大感叹号。而且启动项目,提示是“您的项目包含错误(S),请运行您的应用程序之前,它们修复。”
仅限于个人,引用的jar包错误,在项目的属性里,找到打着红叉的jar包,删除掉,然后项目中还会有错误,再解决的就可以了。
1 楼 huangyisheng-20
Google Android无法访问的解决办法
最近无法访问,不过可以通过这个地址来访问的,真不理解这个也为什么要被GOV枪掉,无语。。。
Android sdk 更新慢的解决办法
&p&打开 android sdk manager 然后会出现下面的图片&/p& &p&&img src=&/upload/attachment//d2ba-3eed-06d63e.png& alt
android.content.res.Resources$NotFoundException错误的解决办法
EditText.setText(8);
当使用上面这样的代码时,将报错, 原因是将 这里的8 看为是资源。
正确的使用方法可以这样:
EditText.setText(8+&&);
查询SIM里的联系人报空指针异常 public class ContactsActivity extends Activity {
private TelephonyManager cTelephonyM
private String strS
private ListView contacts_
private TextView contacts_item_id
关于 滑动的引导界面 RT 引导界面一次加载5张图片,用过网上搜到MyScrollLayout,在2.X系统测试 无异常。但是4.X的系统会抛出内存溢出(OOM)异常导致崩溃。后来更换成ViewPage 也无济于事 。用过Gallry 但是图片显示出来后 距离顶部和地步有一定的间隔。。。而我在布局中 有设置的是填充父元素! 所以来问问,他们说ViewPage 要及时释放不用的BITMAP 但是我不
android工程无法自动生成r.java文件,求解释,在线等==
今天看了一会儿的android视频,跟着视频里的老师,学校一个helloworld的小工程,满怀兴奋激动之情,没想到先是报缺少proguard.cfg文件,解决了这个问题,然后工程又不能自动生成R.java文件,真是让人纠结啊!!
------解决方案-------------------- 试下在导航栏点project-&
android 显示本地html,js和css文件应该放在什么目录下 在线等 用webview显示一个本地index.html文件(别人写好的,我只管在android上用浏览器显示出来),index.html放在assets文件夹下,这个index.html导入了很多js和css文件,这些文件放在另外的三个文件夹中,index.html中导入js的语
android 1.6之后版本无法删除文件问题的解决方案
描述: 之前写过一个工程用的是android1.5版本,现在我把它升级到了android2.0版本。 但在删除sdcard文件这一功能上出现了bug。 1.5版可以正常删除,但2.0却怎么也删不了。 所报的异常: unable to unlink '/sdcard/music/eg.mp3': Permission denied (err
Android.mk文件语法规范
Introduction:   Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法。在阅读下面的内容之前,假定你已经阅读了docs/OVERVIEW.TXT文件,了解了它们的脚色和用途。   概述:   一个Android.mk file用来向编译系统描述你的源代码。具体来说:   -该文件是G
ADT版本号超过17后,所遇到的问题,如导入项目没有Android Dependencies目录、jars包导入的解决办法
Android Dependencies目录建立解决办法:
网上下载的demo导入第三方包运行后Android: NoClassDefFoundError的错误,原因是第三方的jar包并没有打包进ap
Android.mk文件语法规范(上部)
Android.mk文件语法规范
Introduction:
Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法。在阅读下面的内容之前,假定你已经阅读了docs/OVERVIEW.TXT文件,了解了它们的脚色和用途。
概述: 一个Android.mk file用来向编译系统
Android开发——SQLite 08-18 05:18:17.501: E/Database(4661): sqlite3_open_v2(&data/data/edu/huang/database/myDatabase&, &handle, 6, NULL) failed
本人写了个小小的Android数据库的测试程序,使用的是Android中自带的数据库SQ
system.loadLibrary崩溃 加载同一个 jni 库,在一个工程中没问题,在另一个工程中一执行 system.loadLibrary 就崩溃了。请教怎么回事?
------解决方案-------------------- LogCat信息呢
------解决方案-------------------- signal 11 (SIGSEGV), fault addr 0000001
把android.jar 和 android-support-v4.jar源文件引入工程
做Android开发时,有时避免不了要查看源码,为了确定问题所在,经常需要跟踪调试代码到源代码,这就需要你把源代码引入工程。 如果想查看Activity.java代码,默认会看到如下页面:
一、如果想查看到android.jar的源文件,有两种方法: 1是直接为android.jar附加源代码。可以点上
android 引入资源有错问题
1、是引入的资源名字不能是关键字 如 return.png 2、是引入的资源名字不能是非法字符;#@#23.png 3、是引入的资源名字不能用大写字母 CFA.png
关于基站定位 下面链接是一个简单的基站定位,但是他是通过google获取经纬度的,考虑到google在国内不稳定,想找其他方法取代。也就是有没有其他的方法将基站信息转换成经纬度信息。
/rayee/archive//2336101.html
另外,关于HTML5的API获取经纬度,我已经尝试过了,对手机的兼容性比较差,百度高德
gridview动态加载图片 每次往gridview添加一张图片,gridview都会重新加载,刷新一次页面。我现在想添加一张的时候,前一张或前几张不刷新,单单只刷新刚添加的图片,请问大侠,这个要怎么实现,或者有没有控件可以做成这种效果。
------解决方案-------------------- 没人回答?顶起
------解决方案-------------------- 用notifyd
解决对android APK 项目进行签名过程中遇到的问题
在对android APK进行签名的过程中,我碰到过几种不同的问题: 问题一:jarsigner: 无法打开 jar 文件: ChangeBackgroundWidget.apk 我的解决方法是:将要进行签名的APK放到对应的文件下,如我把要签名的ChangeBackgroundWidget.apk放到JDK的bin文件里。 问题二:j
android设计求思路
要做一个大致上是手机客户端上传信息到服务器,然后服务器会传到所有客户端的东西,碰到几个问题请教下。 1.选择哪种通信方式较好,个人倾向于socket 2.服务器端用自己的电脑可行吗?(我的想法是在自己电脑建立数据库作为服务器,不知道行不行) &nbsp
Eclipse 更新ADT之后, 重启在preference中不出现android的解决办法
原因是ADT的版本与jdk版本号相差太大,导致不兼容问题。
如果使用google最新提供的ADT 20.0系列,如果电脑上装的jdk 1.5或更低版本,就会出现ADT安装之后eclipse里不会更新android视图和工具的现象!
这个问题花了一下午才意识到,如果你使用jdk 1.5,那么ADT
ServiceManager.getService 为什么加了import android.os.*; 引用不了
------解决方案--------------------
ServiceManager有在sdk中export出来吗?
新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误
在新建Android程序的时候出现以下错误: 找不到 \android-sdk-windows\tools\lib\proguard.cfg文件
原因: SDK不完整。
解决方法: 方法一 可在\andr
Eclipse中 android程序运行出现java.lang.NullPointerException 解决办法
今天在完善个税所得程序的时候,我想重新测试程序,突然出现这样一个错误, 开始以为是编译路径由问题,在检查完之后发现是找不到目标模拟器,按照网上的一些方法处理了,发现这样问题会反复出现:(
问题应该是出在ECLIPSE上,如果实在解决不了的话可以重新配置一下开发环境(下载的EC
想问下Android NDK是否支持Linux的内联汇编语法?或者是支持哪些其它的汇编语法? 想问下Android NDK是否支持Linux的内联汇编语法?或者是支持哪些其它的汇编语法?
------解决方案--------------------
当然支持。但是和你针对的Architecture有关。当前NDK支持arm, x86,自己看NDK的文档。
Android2.1 sdk安装更新失败解决办法
用了好久的1.6和2.0版本了,今天终于准备更新一下了!。
同样也遇到了消息为“Failed to fetch URL…” 的错误提示。
解决办法: 在“Android SDK and AVD Manager”窗口的左侧选择 “Settings” 选中 “Force https://… ” 这个选项
请大侠提供一个Android中显示ppt的解决办法. 也就是显示ppt的源程序.2013年10月 Web 开发大版内专家分月排行榜第三
2015年2月 总版技术专家分月排行榜第二
2015年2月 Web 开发大版内专家分月排行榜第一2015年1月 Web 开发大版内专家分月排行榜第一2014年12月 Web 开发大版内专家分月排行榜第一2014年11月 Web 开发大版内专家分月排行榜第一2014年10月 Web 开发大版内专家分月排行榜第一
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。您的位置: >
JS中错误处理
学习标签:
本文导读:当浏览网页的时候,我们常常会见到一个JavaScript的警告窗口,告诉我们发生运行出错,并提问你是否要“debug?”。 这种出错信息也许对开发者有用,但是对用户没有用处。 当用户看到这些错误时,他们通常会离开这个网页。下面介绍怎样捕捉和处理这些JavaScript的出错信息
一.JS错误分类
1.&语法错误
也称为解析错误,发生在传统编程语言的编译时,在JavaScript中发生在解释时,这些错误是由代码中的意外字符直接引起的,然后就不能直接编译/解释,eg,在一行代码因缺少右括号,产生了语法错误。发生语法错误时,就不能继续执行代码。在JavaScript中,只有在同一个线程中的代码会受语法错误的影响。在其他线程中的代码和其他外部引用的文件中的代码,如果不依赖于包含错误的代码,则可以继续执行。
2.&运行时错误
也称为异常(exception,在编译期/解释器后)。此时,问题并不出在代码的语法上,而是,尝试完成的一个操作,在某些情况下是非法的。
例如:window.openMyFile();
因不存在openMyFile()方法,浏览器会返回一个异常。异常只影响发生的线程,其他JavaScript线程即可继续正常的执行。
二.JS错误处理
1.&&onerror事件处理函数
它是第一个用来协助JavaScript处理错误的机制。页面上出现异常时,error事件便在window对象上触发。
HTML 代码 &&复制
&title&onerror例子&/title&
&script type=&text/javascript&&...
window.onerror = function() ...{
alert(&发生错误!&);
&body onload=&fuction1()&&
在上述代码中,在页面载入时尝试调用不存在的函数,此时会引发一个异常。弹出&发生错误&的错误信息。但是,浏览器的错误信息也显示出来了,如何在浏览器上隐藏它呢,只需onerror方法返回一个true即可。
HTML 代码 &&复制
&script type=&text/javascript&&...
window.onerror = function() ...{
alert(&发生错误!&);
return true;
onerror处理函数的用法
1)取出错误信息
onerror处理函数提供了三种信息来确定错误确切的性质:
&i)错误信息&&对于给定错误,浏览器会显示同样的信息;
&ii)URL&&在哪个文件中发生了错误;
&iii)行号&&给定URL中发生错误的行号。
访问方法见如下例子:
HTML 代码 &&复制
&script type=&text/javascript&&...
window.onerror = function(sMessage, sUrl, sLine) ...{
alert(&发生错误!\\n& + sMessage + &\\nURL:& + sUrl + &\\nLine Number:& + sLine);
return true;
2)&图像载入错误
window对象并非唯一支持onerror事件处理函数的对象,它对图像对象也提供支持。当一个图像由于文件不存在等原因未能成功载入时,error事件便在这个图像上触发。让我们来看一个例子:
&img src=&amigo.jpg& onerror=&alert(&载入图片时发生错误&)&/&
上例直接在HTML中分配onerror事件处理函数。当然也可以通过脚本来分配事件处理函数,在设置图像的src特性前,必须等待页面完全载入
HTML 代码 &&复制
&title&Image错误测试&/title&
&script type=&text/javascript&&...
function handleLoad() ...{
document.images[0].onerror = function() ...{
alert(&载入图片时发生错误!&);
document.images[0].src = &amigo.jpg&;
&body onload=&handleLoad()&&
注意:与window对象的onerror事件处理函数不同,image的onerror事件任何的额外信息的参数。
3)&处理语法错误
onerror还能处理语法错误。但有一点必须注意,事件处理函数必须是页面中第一个出现的代码,因为如果语法错误出现在设置事件处理函数之前出现,事件处理函数就没有用了。
注意:语法错误会完全停止代码的执行。
说明:使用onerror事件处理函数的主要的问题是,它是BOM的一部分,所以,没有任何标准能控制它的行为。因此,不同的浏览器使用这个事件处理错误的方式有明显的不同,eg,在IE中发生error事件时,正常的代码会继续执行,所有的变量和数据都保留下来,并可通过onerror事件处理函数访问。在Mozilla中,正常的代码执行都会结束,同时所有的错误发生之前的变量和数据都被销毁。
2.&try&catch语句
ECMPScript第三版,引入了try&catch语句
JScript 代码 &&复制
window.openFile1();
alert(&成功调用openFile1方法&);
} catch (exception) ...{
alert(&发生异常!&);
} finally ...{
alert(&try..catch测试结束!&);
ECMAScript标准在try&catch语句中只能有一个catch语句,因为JavaScript是弱类型的语言,没办法指明catch子句中异常的特定类型。不管错误是什么类型,都由同一个catch语句处理。但Mozilla对其进行了扩展,可加多个catch语句,不推荐这样使用。
finally用于包含无论是否有异常发生都要执行的代码,这对关闭打开的链接和释放资源很有用。
try&catch语句的用法
1)&嵌套try&catch语句
用来处理catch子句中的错误问题,让我们来看一个例子
代码如下:
JScript 代码 &&复制
eval(&a ++ b&);
} catch(oException) ...{
alert(&发生错误!&);
var aError = new Array(<span style="color: #00);
} catch(exception) ...{
alert(&在catch子句中发生错误!&);
} finally...{
alert(&已完成&)
2)&Error对象
发生错误时,JavaScript有个Error基类用于抛出。它有两个特性
& i)name&&表示错误类型的字符串
&&ii)message&&实际的错误信息。
Error对象的name对应于它的类,可以是如下值之一
EvalError:错误发生在eval()函数中;
RangeError:数字值超出JavaScript可表示的范围;
ReferenceError:使用了非法的引用;
SyntaxError:在eval()函数调用中发生了语法错误,其他的愈发错误由浏览器报告,无法通过try&catch处理;
TypeError:变量的类型不是预期所需的;
URIError:在encodeURI或decodeURI函数发生了错误。
3)&判断错误类型
可采取如下两种方法来判断错误类型
第一种根据异常的name属性判断,如下:
JScript 代码 &&复制
eval(&a ++ b&);
} catch(oException) ...{
if (oException.name = &SyntaxError&) ...{
alert(&发生SyntaxError!&);
} else ...{
alert(&发生其他错误!&);
第二中采用instanceof操作符,代码如下:
JScript 代码 &&复制
eval(&a ++ b&);
} catch(oException) ...{
if (oException instanceof SyntaxError) ...{
alert(&发生SyntaxError!&);
} else ...{
alert(&发生其他错误!&);
4)&抛出异常的throw语句
在ECMAScript第三版引入,用于有目的的抛出异常,抛出的错误对象可为字符串、数字、布尔值或实际的对象,也可以抛出Error对象(其构造函数只有一个函数,即错误信息)。
JScript 代码 &&复制
function addTwoNumber(a, b) ...{
if (arguments.length & <span style="color: #) ...{
throw new Error(&需要传入两个数字!&);
result = addTwoNumber(<span style="color: #);
} catch(oException) ...{
if (oException instanceof SyntaxError) ...{
alert(&SyntaxError:& + oException.message);
} else if (oException instanceof Error)...{
alert(oException.message);
您可能感兴趣
一月好评排行榜}

我要回帖

更多关于 英语语法快速记忆树 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信