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语句都将被忽略。因此,一定要考虑清楚
本文详细解析了try-catch-finally语句的工作原理,包括finally子句的执行时机,以及它如何影响return语句的行为。特别指出,在IE7及更低版本中,finally子句的执行条件有所不同。
2216

被折叠的 条评论
为什么被折叠?



