js中try catch的执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中try catch的执行相关的知识,希望对你有一定的参考价值。
<script type="text/javascript">
var callback = function(tag)
console.log(tag+" callback has been executed");
try
var a = parseInt("A12B");
callback("try");
catch(err)
callback("catch");
</script>
上面只是做一个测试,为什么parseInt解析出NaN也不抛出错误?还有如果try中某句出错,try中最后的callback函数会不会被调用,js中try catch的语法和java的一致吗?
如果抛出错误了,你就不知道a=NaN了,抛出异常和返回NaN两者只能选一个,js选择了后者
我想parseInt都返回NaN了,那它还能抛出什么异常?这里callback一定会被调用
和java的用法相似但有差别,比如,catch(err/*这里必须要指定一个名字*/),没法像java那样在catch的()内按照异常类型类捕捉,但可以在catch(err)/*在这里根据err类型来区分,但似乎很少见到有这么用的*/
var a = parseInt("A12B");
if (isNaN(a) || !isFinite(a))
throw new Error(a + " is NaN or Not Finite !");
catch (e)
console.error(e);
本回答被提问者和网友采纳
以上是关于js中try catch的执行的主要内容,如果未能解决你的问题,请参考以下文章