
1. 大家都知道,
普通的try, catch, finally格式:
try{
//有可能会抛出异常的代码
}catch{
//抛出异常时处理的代码
}finally{
//无条件执行的代码,就不管是否抛出异常都会执行
}
2. 加入是这样呢,程序try catch部分中有return呢
try{
//有可能会抛出异常的代码
}catch{
//抛出异常时处理的代码
return;//这里有return,finally还会执行吗
}finally{
//无条件执行的代码,就不管是否抛出异常都会执行
}
结果是,finally还是会继续执行
3. 难道finally就真的是无条件,在任何情况下都会执行吗
try{
//有可能会抛出异常的代码
}catch{
//抛出异常时处理的代码
System.exit(0);//return搞不定,但exit(0)是退出整个程序,这样finally也不会执行了
}finally{
//无条件执行的代码,就不管是否抛出异常都会执行
}