js里alert代替throw可以吗?

good8888job 2017-03-28 10:32:39
alert和throw都可以弹出一个自定义信息的窗口。
在try里我发现把throw换成alert也是一样的可以运行成功弹出自定义的信息.
这两个不同点是throw只能在try块里,alert哪都能用.也就是throw作用比alert还小?那throw还有什么用?
<body>
<form>
<input id="a" type="text" />
<input id="b" type="button" onclick="f()" value="按钮" />
</form>
<script>
function f(){
try{
var aaa = document.getElementById("a").value;
if(aaa == ""){
//throw "第x个异常";
alert("第x个异常")
}
}catch(e){
alert(e);
}
}
</script>
</body>
...全文
245 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-03-28
  • 打赏
  • 举报
回复
throw可不是弹窗口的,throw的真正作用是抛出错误异常信息。 你的代码中实际负责弹出窗口的是catch(e){} 中的 alert(e); 还有,当throw执行之后,在throw下面的代码都不会执行。 try{} catch(e){} 的功能是,当try{}中的代码出现错误异常时就会执行catch(e){}中的代码,并把错误异常信息赋值给变量e。
当作看不见 2017-03-28
  • 打赏
  • 举报
回复
我想 throw 是干什么用的你都还没有搞清楚。 抓捕异常 ,和抛出异常 抓捕异常 ,众所周知,js 是一个单线程的,所以在初始化的时候,任何地方出错都有可能导致整个程序的崩溃,这不是我们想要看到的,自然我们需要做异常处理,但是人力有时穷,只能处理 自己能想到的情况,那么还有一些没有想到的呢? 那就是预料之外的情况,所以我们需要捕捉异常 抛出异常 , 既然捕捉到了,自然要想办法解决,人不能在同一个地方摔倒两次,抛出异常可以让我们快速追踪定位问题, 而alert 只能在运行时给出些微的提示信息罢了

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧