- JScript code
<html><body><script type="text/javascript">var x=prompt("请输入 0 至 10 之间的数:","")try{ if(x>10) throw "Err1" else if(x<0) throw "Err2"else if(isNaN(x)) throw "Err3"} catch(er){if(er=="Err1") alert("错误!该值太大!")if(er == "Err2") alert("错误!该值太小!") if(er == "Err3") alert("错误!该值不是数字!") }</script></body></html>
1.这段代码,当在框中不输入任何东西直接确认的时候不报错?
2、catch(er)和catch(err)是等价的么?
------解决方案--------------------------------------------------------
试了一下,不输入是没有报错的,但最好做一个空验证!
两个异常肯定不是等价的,是有区别的
er针对的异常比err多一些
------解决方案--------------------------------------------------------
因为当你不输入的时候x为空!这样改就可以了:
else if(isNaN(x)||x=="")
throw "Err3";