"); //-->
本篇文章小编和大家分享一篇finally 一定会执行(实例代码),小编觉得对学习Java开发技术感兴趣的小伙伴会有帮助,因此分享给小伙伴们,想要参加Java培训或者是对Java感兴趣的小伙伴可以了解一下。
如下所示:
class Exc{ int a; int b; } public class Except { @SuppressWarnings("finally") static int compute (){ Exc e = new Exc(); e.a = 10; e.b = 10; int res = 0 ; try{ res = e.a / e.b; System.out.println("try ……"); return res + 1; }catch(NullPointerException e1){ System.out.println("NullPointerException occured"); }catch(ArithmeticException e1){ System.out.println("ArithmeticException occured"); }catch(Exception e3){ System.out.println("Exception occured"); }finally{ System.out.println("finnaly occured"); } System.out.println(res); return res+3; } public static void main(String[] args){ int b = compute(); System.out.println("mian b= "+b); } }
输出:
try …… finnaly occured mian b= 2
结论: 如果没有异常, 则执行try 中的代码块,直到 try 中的 return,接着执行 finally 中的代码块,finally 执行完后 , 回到try 中执行 return 。退出函数。
class Exc{ int a; int b; } public class Except { @SuppressWarnings("finally") static int compute (){ Exc e = new Exc(); // e.a = 10; // e.b = 10; int res = 0 ; try{ res = e.a / e.b; System.out.println("try ……"); return res + 1; }catch(NullPointerException e1){ System.out.println("NullPointerException occured"); }catch(ArithmeticException e1){ System.out.println("ArithmeticException occured"); }catch(Exception e3){ System.out.println("Exception occured"); }finally{ System.out.println("finnaly occured"); } System.out.println(res); return res+3; } public static void main(String[] args){ int b = compute(); System.out.println("mian b= "+b); } }
输出:
ArithmeticException occured finnaly occured 0 mian b= 3
结论: 如果try 中有异常, 则在异常语句处,跳转到catch 捕获的异常代码块, 执行完 catch 后,再执行 finally ,跳出 try{}catch{}finally{} ,继续向下执行,不会去执行try中 后面的语句。
以上就是小编给大家分享的finally 一定会执行(实例代码),想要了解更多内容的小伙伴们可以登录扣丁学堂官网查询更多的内容。扣丁学堂Java在线学习是业内知名的培训机构,扣丁学堂不仅有专业的老师和与时俱进的课程体系,还有大量的Java在线教程供学员观看学习。喜欢Java,想要学习Java开发的小伙伴们快快行动吧。扣丁学堂java技术交流群:487098661。微信号:codingbb
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。