javascript中尝试捕获的用法

javascript中尝试捕获的用法
先看一个例子

窗口。指针函数(){
VaR的OBTN = document.getelementbyid(B1);
功能MTO(){
警报(123);
};

尝试/伊江
{
obtn.attachevent(onclick

}
catch(e)伊江
{
OBtn.addEventListener(单击
}
};
值得注意的是:

注册侦听器和attachevent之间的区别是第一个参数,前者是后者的onclick点击

注册侦听器运行在它的元素范围

attachevent运行在全球范围内(本=窗口)

尝试...catch语句

尝试...catch可以测试代码中的错误。试用部分包含需要运行的代码,catch部分包含在错误发生时运行的代码。

Grammar:
尝试
{
此代码 / 操作
}
捕捉(错误)
{
此错误处理
}

注意:尝试…catch使用小写字母。大写字母会出错。

尝试...抓住…最后声明
Jscript实现错误处理。

{试
tryStatements中发生}
捕获(异常){
catchstatements }
最后{
finallystatements }
= =
参数
trystatement

有一个选项,可能是错误的陈述。

例外

有一个选项。任何变量名。异常的初始化值是抛出的错误值。

catchstatement

可选。一个处理的相关trystatement出现的错误陈述。

finallystatements

可选:在所有其他进程发生后无条件执行的语句。
解释

尝试...抓住…最后声明提供了一种方法来处理一些或所有可能在一个给定的代码块中发生的错误,同时仍保持代码运行。如果有错误,程序员没有处理,Jscript仅提供常见错误信息的用户,如果没有错误处理。
tryStatements参数参数包含代码,也可能是错的,而catchstatement包含处理已发生的任何错误代码。如果在tryStatements中发生发生错误,程序控制是通过catchstatements处理。异常的初始化值是发生在tryStatements参数错误的值。如果不会发生错误,不执行的catchstatements。
如果你不能与错误相关的catchstatements tryStatements中发生处理这种错误,使用throw语句来宣传或重新抛出的错误到一个更高级的错误处理程序。
执行语句并执行所有在tryStatements中发生的错误处理catchstatements finallyStatements中声明后,可以无条件地执行。
即使一个语句返回在try或catch块捕获错误,通知,或再投入,finallystatements代码仍将被执行,finallystatments一般保证能运行,除非有一个未处理的错误。(例如,一个运行时错误在catch块中。)

样品
下面的示例说明了如何进行Jscript的特殊情况的处理。

{试
打印(外部尝试运行);
{试
打印(嵌套尝试运行……);
抛出错误;
}
catch(e){
打印(嵌套catch捕获+ E);
扔E 再扔;
}
最后{
打印(嵌套正在运行……);
}
}
catch(e){
打印(外部捕获+ E);
}
最后{
打印(外部最后运行);
}
脚本宿主 / /窗口进行更改,名回波(S)。
函数打印({){
document.write(S);
}
将得到以下结果:
外试跑…

嵌套尝试运行…

嵌套捕捉错误

嵌套正在运行…

外抓抓错

外最后运行

下面是Javascript异常处理的一个示例。
var数组= null;
{试
document.write(数组{ 0 });
} catch(错误){
document.writeln(错误的名字:+ err.name + );
document.writeln(的错误信息:+错误信息);
}
最后{
警报(对象为空);
}

程序的执行过程

1。数组{ 0 },当未创建数组数组时,数组是空对象,程序中的调用数组{ 0 }将产生一个对象为null的异常。

2。赶上(ERR)语句捕获异常的印刷错误类型,通过err.name,err.message打印出错误的细节。

三.最后是类似于java的最后,不管是否执行。

这六个值error.name信息进行归纳、总结。
使用1。EvalError:eval()与定义不一致

2。RangeError:数值跨界

三.ReferenceError:一个非法的或无法识别参考价值

4。SyntaxError:语法分析错误

5。TypeError:操作数的类型错误

使用不当6。URIError:URI处理功能
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部