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