永发信息网

javascript中的对象属性,方法.try ...catch

答案:5  悬赏:10  手机版
解决时间 2021-02-05 15:59
javascript中的对象属性,方法.try ...catch
最佳答案
JS代码为了程序的健壮性而增加了错误处理机制,可以说他是仿C族语言的特征而设的,但事实我们们必须要先知道我们的try语句能够获取哪些类的错误,并不是所有的错误都能由try去捕获的。try捕获的只有运行时错误,也就是说runtime类型的错误才能被捕获出来的。

而JS代码最入加浏览器时也是一个检查,这时代码并未工作,此时所出现的错误只是一些简单的语法错误的,而不是runtime错误。就以你的程序为例吧:

首先声明一点,你是VB系转向的C族的程序员吧?C族的每一个语句结束时都要求用;分行,表示这是一个语句。这是与VB、VF等不同的地方。下次写注意一下。

你本来的意思是,让try去捕获一个不存在的事件adddlert()这个语句的错误,可问题在于,还没有进行运行时,而是在页面加载的时候,语法就已经检查到了该函数没有对象的错误,这时还没有进行运行态(runtime),所以程序已经不会再进行运行了。这时你看到的结果并没有按照你所想的。

所以你要牢记的就是try结构只会捕获运行态的错误,而语法检查出现的最早,所以语法的错误try还是没有机会去捕获的。运行态的错误往往是比如除0错误等等。你可以这样更改去让你的程序运行下去的。
将adddlert("Welcome guest!");更改为这样的语句:
eval('adddlert("Welcome guest!");');
这样虽是语法检查了,但不会出现语法错误,而真正去执行时却找不到对象属于运行时的错误了,应该可以顺利的进入到错误处理结构中,从而执行catch块内的代码。但前提是保证好你的catch内不要出错,另外,try结果出错时是将错误抛给了E,所以要catch的小括号中去接收的是catch(e)才行,这时又涉及一个错误的类型,而不像VB中的on Error Resume Next处理机制,将所有的错误都抛给了Err,所以还要估计出错的类型,而用合适的变量去接收才行的。

我估计,你的Err在这里什么也接不到的!所以在JS中可以出现这种用法的:
try{
}catch(e1){
}catch(e2){
}也就是一个try会出现几个catch和一个或有或无的finily,同时还可以接收自定义错误的,这时可以使用throw语句抛出例外。

但在一点是JS中还存在一个自动转型的,所以可以不说明错误类型。一般的错误用一个变量都可以接收,但特殊的类型还是要特殊接收。

至于,我想你应该更正你的catch中的错误,按照EMCA-262核心的代码来写就可以了!在JS中只有最后一个语句才可以省略掉分行号的!
全部回答
后面用alert()方法,前面干嘛用错的,adddlert("Welcome guest!")改成alert("Welcome guest!")就没问题!
对javascript研究不深 这个例子中方法错误应该是adddlert("Welcome guest!")这个方法不存在所以报了个异常
因为你没定义有adddlert()这函数,所以提示缺少(函数)对象。
没有adddlert这个方法
还有你有一个很不好的习惯,就是从来不写分号
还有声明变量要用var关键字
没听说过方法错误啊
try catch只要不是语法错误都捕捉的
三楼:没有runtime这个类型的吧
用eval是会抛出EvalError错误的
记得javascript 1.8里有错误类型重载
finally打错了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在3D中转换VR渲染器材质球都是黑的怎么办
志远电脑科技怎么去啊,我要去那办事
swampy free第二个场景第一关怎么玩
iphone放音乐这些没有声音要插上耳机才有 本
屠烂的意思是什么啊?知道的请说下!
若Z=sinX - 3/5 + (cosX-4/5)i是纯虚数,则tan
东三合城在什么地方啊,我要过去处理事情
运长电脑科技地址有知道的么?有点事想过去
甘肃省陇西文峰开发区暖气不热,三年了,交着
喜马拉雅听书怎么点击率查找
少女时代在哪儿唱过cantmyeyesoffyou
飞越电脑科技(交通路)地址有知道的么?有点事
作为学生我们应该努力学习 As students,we .
高密市国土资源局姜庄所这个地址在什么地方,
指麾的意思是什么啊?知道的请说下!
推荐资讯
中国现在还有多少人口处在贫困线下
长城汽车(蛇刘线)地址在什么地方,我要处理点
国家公务员被批准逮捕后还能保住工作吗?
举报大连市甘井子营城子街道韩树吉
你说的什么请告诉我,用英语翻译
没做理会处的意思是什么啊?知道的请说下!
GTA3机场的DODO飞机怎么开?
我是做不锈钢防盗窗的,我不想做了,身份证在
左倾机会主义的意思是什么啊?知道的请说下!
腾顺建材我想知道这个在什么地方
奋拳的意思是什么啊?知道的请说下!
已知点A(6,0),点P(X,Y)在第一象限,且X+Y=
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?