try-catch

本文详细解析了try-catch-finally语句的工作原理,包括finally子句的执行时机,以及它如何影响return语句的行为。特别指出,在IE7及更低版本中,finally子句的执行条件有所不同。
try{
    //可能会导致错误的代码
}catch(error){
    //在错误发生的时候怎么处理
}
  • finally子句
    f虽然在try-catch语句中是可选的,但finally语句一经使用一定会执行。try语句块中的代码全部正常执行,finally子句会执行;如果因为出错而执行了catch语句,finally子句还是会执行;只要代码中包含finally子句,则无论try或catch语句中包含什么代码—甚至return语句,都不会阻止finall子句的执行
try{
    return 2;
}catch(error){
    return 1;
}finally{
    return 0;
}

如果有finally子句,则catch和finally存在一个即可,IE7及更早版本有一个bug,除非有catch子句,否则finally中的代码永远不会执行。如果要考虑IE的早期版本,那就只好提供一个catch语句,哪怕什么都不写。
//只要代码中包含finally子句,那么无论try还是catch语句块中的return语句都将被忽略。因此,一定要考虑清楚

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值