介绍Javascript中的异常捕获
作为java语言一样,Javascript可以抛出异常的语句。不像java语言,Javascript可以把所有类型的值通过throw语句,不仅扔错了对象。复制代码代码如下所示:
抛出错误对象。
尝试{
在错误对象中抛出新错误();
} catch(e){
console.log(E); / /错误:错误信息的对象
}
尝试{
抛出原始消息;
} catch(消息){
console.log(消息); / /原消息
console.log(的消息); / /串
}
尝试{
掷42;
} catch(代码){
console.log(代码); / / 42
console.log(typeof代码); / /数量
}
喜欢java语言,如果异常没有被任何catch语句捕获异常最终会抛给用户:
复制代码代码如下所示:
尝试{
抛出新错误(测试错误);将抛出错误。错误:测试错误
最后,{ }
}
尝试{
抛出42;将抛出错误。错误:42
最后,{ }
}
为了捕获异常,Javascript也使用了试用语句。它的规则是:尝试是必要的,catch最后是可选语句,但捕获和最后必须至少有一个语句。
在catch语句,参数E(或其他任何合法的变量名)可以定义存储被抛出的异常值。在catch语句,这个参数可以作为局部变量。不像其他Javascript变量,在catch语句的参数变量是有效的只有在catch语句(的变量的范围是有限的catch语句)。
对于最后一个语句,不管尝试中是否有异常,最后的代码将被执行:
没有异常发生在1.try,当try语句完成后,在最后将要执行的代码。
没有异常发生在2.try,但代码在最后时将执行try代码在执行退出休息,继续,或返回语句。
发生异常时3.try,异常的catch语句进行处理,并在最终的代码执行。
发生异常4.try,但代码在最后会因为没有catch语句导致的异常被抛出了执行。值得注意的是,当catch语句失踪,Javascript将在最后再执行代码不断抛出异常了。
在最后的代码,如果有突破,继续或返回语句,然后将这些语句的Javascript实现,try代码可能在休息的存在,继续或返回语句的人;即使catch语句导致缺乏异常需要上报,JS会丢弃异常报告信息,继续最后的代码中断执行,继续或返回语句。同样,如果扔在最后的代码是一个例外,Javascript将放弃所有的休息,继续或返回所有尝试代码语句,并放弃可能的异常报告的行为,只有在最后的代码引发异常。